Spec-Zone.ru › CakePHP 4.2

Класс Text

Методы обработки текста.

Пространство имён: Cake\Utility

Краткое описание свойств

  • $_defaultHtmlNoCount protected static
    array

    По умолчанию теги HTML, которые не нужно учитывать при обрезке текста.

  • $_defaultTransliterator protected static
    Transliterator|null

    По умолчанию транслитератор.

  • $_defaultTransliteratorId protected static
    string

    Строка идентификатора по умолчанию для транслитератора.

Краткое описание методов

  • _removeLastWord() protected static

    Удаляет последнее слово из входного текста.

  • _strlen() protected static

    Возвращает длину строки.

  • _substr() protected static

    Возвращает часть строки.

  • _wordWrap() protected static

    Универсальная функция для обёртывания строк с учётом Юникода.

  • ascii() public static

    Преобразует десятичное значение многобайтовой строки символов в строку

  • cleanInsert() public static

    Очищает строку, отформатированную с помощью Text::insert(), с учётом опций clean. По умолчанию используется метод text, но также доступен html. Цель этой функции — заменить все пробелы и нежелательные разметки вокруг заглушек, которые не были заменены Text::insert().

  • excerpt() public static

    Извлекает выдержку из текста, окружающего фразу, с заданным количеством символов с каждой стороны.

  • getTransliterator() public static

    Возвращает транслитератор по умолчанию.

  • getTransliteratorId() public static

    Возвращает строку идентификатора по умолчанию для транслитератора.

  • highlight() public static

    Выделяет заданную фразу в тексте. Вы можете указать любое выражение в highlighter, которое может включать выражение \1 для включения найденной фразы.

  • insert() public static

    Заменяет заглушки переменных внутри $str на заданные значения $data. Каждый ключ в массиве $data соответствует имени заглушки переменной в $str. Пример:

    Text::insert(':name is :age years old.', ['name' => 'Bob', 'age' => '65']);

    Возвращает: Боб 65 лет.

  • isMultibyte() public static

    Проверяет, содержит ли строка многобайтовые символы.

  • parseFileSize() public static

    Преобразует размер файла из удобочитаемой строки в байты.

  • setTransliterator() public static

    Устанавливает транслитератор по умолчанию.

  • setTransliteratorId() public static

    Устанавливает строку идентификатора по умолчанию для транслитератора.

  • slug() public static

    Возвращает строку, в которой все пробелы заменены дефисами (по умолчанию), символы транслитерированы в ASCII-символы, а небуквенные символы удалены.

  • tail() public static

    Обрезает текст, начиная с конца.

  • toList() public static

    Создаёт список, разделённый запятыми, где последние два элемента соединены союзом "и", образуя естественный язык.

  • tokenize() public static

    Разбивает строку на токены, используя $separator, игнорируя любые вхождения $separator, которые появляются между $leftBound и $rightBound.

  • transliterate() public static

    Транслитерирует строку.

  • truncate() public static

    Обрезает текст.

  • truncateByWidth() public static

    Обрезает текст с заданной шириной.

  • utf8() public static

    Преобразует многобайтовую строку символов в десятичное значение символа.

  • uuid() public static

    Генерирует случайный UUID версии 4.

  • wordWrap() public static

    Универсальная функция для обёртывания строк с учётом Юникода и символов перевода строки.

  • wrap() public static

    Обёртывает текст до определённой ширины, при необходимости, с учётом слов.

  • wrapBlock() public static

    Обёртывает весь блок текста до заданной ширины, при необходимости, с учётом слов.

Методы

_removeLastWord() protected static

_removeLastWord(string $text): string

Удаляет последнее слово из входного текста.

Параметры

string $text

Входной текст

Возвращает

string

_strlen() protected static

_strlen(string $text, array $options): int

Получение длины строки.

Параметры:

  • html Если истинно, HTML-сущности будут обработаны как декодированные символы.
  • trimWidth Если истинно, возвращается ширина.

Параметры

string $text

Строка, длина которой проверяется

array $options

Массив параметров.

Возвращает

int

_substr() protected static

_substr(string $text, int $start, int|null $length, array $options): string

Возвращает часть строки.

Параметры:

  • html Если истинно, HTML-сущности будут обработаны как декодированные символы.
  • trimWidth Если истинно, будет обрезано до указанной ширины.

Параметры

string $text

Входная строка.

int $start

Позиция начала извлечения.

int|null $length

Желаемая длина.

array $options

Массив параметров.

Возвращает

string

_wordWrap() protected static

_wordWrap(string $text, int $width = 72, string $break = "\n", bool $cut = false): string

Поддержка UTF-8 для wordwrap.

Параметры

string $text

Текст для форматирования.

int $width optional

Ширина обрезания. По умолчанию 72.

string $break optional

Символ разрыва строки. По умолчанию '\n'.

bool $cut optional

Если установлено в true, строка всегда будет обрезана до указанной ширины.

Возвращает

string

ascii() public static

ascii(array $array): string

Преобразует десятичное значение многобайтовой строки символов в строку

Параметры

array $array

Массив

Возвращает

string

cleanInsert() public static

cleanInsert(string $str, array $options): string

Очищает строку, отформатированную с помощью Text::insert(), с учетом заданных параметров $options, в зависимости от ключа 'clean' в $options. По умолчанию используется метод text, но также доступен html. Цель этой функции — заменить все пробелы и ненужные метки вокруг плацехолдеров, которые не были заменены Text::insert().

Параметры

string $str

Строка для очистки.

array $options

Список параметров.

Возвращает

string

См. также

\Cake\Utility\Text::insert()

excerpt() public static

excerpt(string $text, string $phrase, int $radius = 100, string $ellipsis = '...'): string

Извлекает фрагмент текста, окружающий фразу, с заданным количеством символов по обе стороны, определенным радиусом.

Параметры

string $text

Строка, в которой будет ищется фраза.

string $phrase

Фраза, которая будет ищется.

int $radius optional

Количество символов, возвращаемых по обе стороны найденной фразы.

string $ellipsis optional

Прикрепляемое окончание.

Возвращает

string

Ссылки

https://book.cakephp.org/4/en/core-libraries/text.html#extracting-an-excerpt

getTransliterator() public static

getTransliterator(): Transliterator|null

Получить стандартный транслитератор.

Возвращает

Transliterator|null

getTransliteratorId() public static

getTransliteratorId(): string

Получить строку идентификатора стандартного транслитератора.

Возвращает

string

highlight() public static

highlight(string $text, string|array $phrase, array $options = []): string

Выделяет заданную фразу в тексте. Можно указать любое выражение в highlighter, которое может включать выражение \1 для включения найденной фразы $phrase.

Параметры:

  • format Часть HTML, с помощью которой фраза будет выделена.
  • html Если истинно, игнорируются HTML-теги, гарантируя, что выделяется только правильный текст.
  • regex Пользовательское правило регулярных выражений, используемое для сопоставления слов, по умолчанию '|$tag|iu'
  • limit Ограничение, необязательно, по умолчанию -1 (нет)

Параметры

string $text

Текст, в котором будет производиться поиск фразы.

string|array $phrase

Фраза или фразы, которые будут искать.

array $options optional

Массив атрибутов HTML и параметров.

Возвращает

string

Ссылки

https://book.cakephp.org/4/en/core-libraries/text.html#highlighting-substrings

insert() public static

insert(string $str, array $data, array $options = []): string

Заменяет переменные плацехолдеры внутри $str на любые заданные $data. Каждый ключ в массиве $data соответствует имени переменного плацехолдера в $str. Пример:

Text::insert(':name is :age years old.', ['name' => 'Bob', 'age' => '65']);

Возвращает: Боб 65 лет.

Доступные $options:

  • before: символ или строка перед именем переменного плацехолдера (по умолчанию :)
  • after: символ или строка после имени переменного плацехолдера (по умолчанию null)
  • escape: символ или строка, используемые для экранирования символа/строки перед (по умолчанию \)
  • format: регулярное выражение для сопоставления переменных плацехолдеров. По умолчанию: /(?<!\\)\:%s/ (перезаписывает before, after, breaks escape / clean)
  • clean: булево значение или массив с инструкциями для Text::cleanInsert

Параметры

string $str

Строка, содержащая переменные плацехолдеры

array $data

Массив key => val, где каждый ключ обозначает имя переменной плацехолдера, которое нужно заменить на значение val

array $options optional

Массив параметров, см. описание выше

Возвращает

string

isMultibyte() public static

isMultibyte(string $string): bool

Проверка наличия многобайтовых символов в строке

Параметры

string $string

Значение для проверки

Возвращает

bool

parseFileSize() public static

parseFileSize(string $size, mixed $default = false): mixed

Преобразование размера файла из удобочитаемой строки в байты

Параметры

string $size

Размер в удобочитаемой строке, например '5MB', '5M', '500B', '50kb' и т.д.

mixed $default optional

Значение, возвращаемое при использовании недопустимого размера, например 'Неизвестный тип'

Возвращает

mixed

Исключения

InvalidArgumentException
При недопустимом типе единицы измерения.

Ссылки

https://book.cakephp.org/4/en/core-libraries/text.html#Cake\Utility\Text::parseFileSize

setTransliterator() public static

setTransliterator(Transliterator $transliterator): void

Установить стандартный транслитератор.

Параметры

Transliterator $transliterator

Экземпляр Transliterator.

Возвращает

void

setTransliteratorId() public static

setTransliteratorId(string $transliteratorId): void

Установить строку-идентификатор по умолчанию для транслитератора.

Параметры

string $transliteratorId

Идентификатор транслитератора.

Возвращаемое значение

void

slug() public static

slug(string $string, array|string $options = []): string

Возвращает строку, в которой все пробелы заменены дефисами (по умолчанию), символы транслитерированы в ASCII-символы, а непечатные символы удалены.

Параметры:

  • replacement: Строка замены. По умолчанию '-'.
  • transliteratorId: Действительная строка-идентификатор транслитератора. Если null (по умолчанию), будет использован транслитератор (идентификатор), установленный с помощью setTransliteratorId() или setTransliterator(). Если false транслитерация не будет выполнена, будут удалены только непечатные символы.
  • preserve: Конкретный непечатный символ для сохранения. По умолчанию null. Например, этот параметр можно установить на '.' для генерации чистых имён файлов.

Параметры

string $string

строка, которую нужно преобразовать в slug

array|string $options optional

Если строка, она будет использована как символ замены, или массив опций.

Возвращаемое значение

string

См. также

setTransliterator()
setTransliteratorId()

tail() public static

tail(string $text, int $length = 100, array $options = []): string

Обрезает текст, начиная с конца.

Укорачивает строку до длины $length и заменяет первые символы многоточием, если текст длиннее длины.

Параметры:

  • ellipsis Будет использоваться в качестве начала и добавлен в перед обрезанной строкой
  • exact Если false, $text не будет обрезан посреди слова

Параметры

string $text

Строка для обрезки.

int $length optional

Длина возвращаемой строки, включая многоточие.

array $options optional

Массив опций.

Возвращаемое значение

string

toList() public static

toList(string[] $list, string|null $and = null, string $separator = ', '): string

Создаёт список, разделённый запятыми, где две последние строки соединены со словом "и", образуя естественный язык.

Параметры

string[] $list

Список для объединения.

string|null $and optional

Слово, используемое для объединения последней и предпоследней строк. По умолчанию "и".

string $separator optional

Разделитель, используемый для объединения всех остальных элементов. По умолчанию ", ".

Возвращаемое значение

string

Ссылки

https://book.cakephp.org/4/en/core-libraries/text.html#converting-an-array-to-sentence-form

tokenize() public static

tokenize(string $data, string $separator = ',', string $leftBound = '(', string $rightBound = ')'): string[]

Разбивает строку на токены, используя $separator, игнорируя любые вхождения $separator, которые находятся между $leftBound и $rightBound.

Параметры

string $data

Данные для разбиения на токены.

string $separator optional

Разделитель для разделения данных.

string $leftBound optional

Левая граница для игнорирования разделителей в.

string $rightBound optional

Правая граница для игнорирования разделителей в.

Возвращаемое значение

string[]

transliterate() public static

transliterate(string $string, Transliterator|string|null $transliterator = null): string

Транслитерировать строку.

Параметры

string $string

Строка для транслитерации.

Transliterator|string|null $transliterator optional

Либо экземпляр Transliterator, либо строка-идентификатор транслитератора. Если null, будет использован транслитератор (идентификатор) по умолчанию, установленный с помощью setTransliteratorId() или setTransliterator().

Возвращаемое значение

string

См. также

https://secure.php.net/manual/en/transliterator.transliterate.php

truncate() public static

truncate(string $text, int $length = 100, array $options = []): string

Обрезает текст.

Укорачивает строку до длины $length и заменяет последние символы многоточием, если текст длиннее длины.

Параметры:

  • ellipsis Будет использоваться в качестве окончания и добавлен в конец обрезанной строки
  • exact Если false, $text не будет обрезан посреди слова
  • html Если true, теги HTML будут обработаны корректно
  • trimWidth Если true, $text будет обрезан по ширине

Параметры

string $text

Строка для обрезки.

int $length optional

Длина возвращаемой строки, включая многоточие.

array $options optional

Массив атрибутов HTML и опций.

Возвращаемое значение

string

Ссылки

https://book.cakephp.org/4/en/core-libraries/text.html#truncating-text

truncateByWidth() public static

truncateByWidth(string $text, int $length = 100, array $options = []): string

Обрезка текста по заданной ширине.

Параметры

string $text

Строка для обрезки.

int $length optional

Длина возвращаемой строки, включая многоточие.

array $options optional

Массив атрибутов HTML и опций.

Возвращаемое значение

string

См. также

\Cake\Utility\Text::truncate()

utf8() public static

utf8(string $string): array

Преобразует строку с многобайтовыми символами в десятичное значение символа.

Параметры

string $string

Строка для преобразования.

Возвращаемое значение

array

uuid() public static

uuid(): string

Генерирует случайный UUID версии 4.

Предупреждение: Этот метод не должен использоваться в качестве генератора случайных чисел для любых криптографических операций. Вместо этого следует использовать расширения openssl или mcrypt.

Его также не следует использовать для создания идентификаторов, имеющих последствия для безопасности, таких как «неугадываемые» идентификаторы URL. Вместо этого следует использовать Security::randomBytes() для этой цели.

Возвращаемое значение

string

См. также

https://www.ietf.org/rfc/rfc4122.txt

wordWrap() public static

wordWrap(string $text, int $width = 72, string $break = "\n", bool $cut = false): string

Версия wordwrap, учитывающая Unicode и символы новой строки.

Параметры

string $text

Текст для форматирования.

int $width optional

Ширина для обрезки. По умолчанию 72.

string $break optional

Строка разрыва. По умолчанию '\n'.

bool $cut optional

Если cut установлено в true, строка всегда обрезается по указанной ширине.

Возвращаемое значение

string

wrap() public static

wrap(string $text, array|int $options = []): string

Обрезает текст до определённой ширины, в случае необходимости обрезает по границам слов.

Опции

  • width Ширина обрезки. По умолчанию 72.
  • wordWrap Обрезать только по границам слов (пробелы). По умолчанию true.
  • indent Строка отступа. По умолчанию null.
  • indentAt Индекс отступа, начиная с 0. По умолчанию 0.

Параметры

string $text

Текст для форматирования.

array|int $options optional

Массив опций для использования, или целое число для обрезки текста.

Возвращаемое значение

string

wrapBlock() public static

wrapBlock(string $text, array|int $options = []): string

Оборачивает весь блок текста до определённой ширины, по желанию может обрывать по словам.

Параметры

  • width Ширина обтёрта, по умолчанию 72.
  • wordWrap Обрыв только по пробелам (словам), по умолчанию true.
  • indent Строка для отступа. По умолчанию null.
  • indentAt Индекс отступа (0-индексация). По умолчанию 0.

Параметры

string $text

Текст для форматирования.

array|int $options optional

Массив параметров, или целое число для ширины обтёрта.

Возвращает

string

Подробное описание свойств

$_defaultHtmlNoCount protected static

Теги html по умолчанию, которые не должны учитываться при обрезке текста.

Тип

array

$_defaultTransliterator protected static

Транслитератор по умолчанию.

Тип

Transliterator|null

$_defaultTransliteratorId protected static

Строка идентификатора транслитератора по умолчанию.

Тип

string

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Utility.Text.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API