Класс Text
Методы обработки текста.
Краткое описание свойств
- $_defaultHtmlNoCount protected static
array<string>По умолчанию теги HTML, которые не должны учитываться при обрезке текста.
- $_defaultTransliterator protected static
Transliterator|nullПо умолчанию транслитератор.
- $_defaultTransliteratorId protected static
stringСтрока идентификатора по умолчанию для транслитератора.
Краткое описание методов
-
_removeLastWord() protected static
Удаляет последнее слово из входного текста.
-
_strlen() protected static
Получение длины строки.
-
_substr() protected static
Возвращает часть строки.
-
_wordWrap() protected static
Версия wordwrap, учитывающая Unicode, как вспомогательный метод.
-
ascii() public static
Преобразует десятичное значение строки символов с несколькими байтами в строку
-
cleanInsert() public static
Очищает строку, отформатированную с помощью Text::insert(), с заданными $options в зависимости от ключа 'clean' в $options. По умолчанию используется метод text, но также доступен html. Цель этой функции — заменить все пробелы и ненужные метки вокруг заполнитель, которые не были заменены Text::insert().
-
excerpt() public static
Извлекает выдержку из текста, окружающего фразу с заданным числом символов с каждой стороны, определяемым радиусом.
-
getTransliterator() public static
Получение по умолчанию транслитератора.
-
getTransliteratorId() public static
Получение строки идентификатора по умолчанию для транслитератора.
-
highlight() public static
Выделяет заданную фразу в тексте. Вы можете указать любое выражение в выделении, которое может включать выражение \1 для включения найденной фразы $phrase.
-
insert() public static
Заменяет placeholder переменных внутри $str на любые заданные $data. Каждый ключ в массиве $data соответствует имени placeholder переменной в $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
Версия wordwrap, учитывающая Unicode и символы новой строки.
-
wrap() public static
Обертывает текст до определенной ширины, может обертывать по словам.
-
wrapBlock() public static
Обертывает целый блок текста до заданной ширины, может обертывать по словам.
Подробное описание методов
_removeLastWord() protected static
_removeLastWord(string $text): string
Удаляет последнее слово из входного текста.
Параметры
-
string$text Входной текст
Возвращает
string_strlen() protected static
_strlen(string $text, array<string, mixed> $options): int
Получение длины строки.
Параметры:
-
htmlЕсли true, HTML-сущности будут обработаны как декодированные символы. -
trimWidthЕсли true, будет возвращена ширина.
Параметры
-
string$text Строка, длина которой проверяется.
-
array<string, mixed>$options Массив параметров.
Возвращает
int_substr() protected static
_substr(string $text, int $start, int|null $length, array<string, mixed> $options): string
Возвращает часть строки.
Параметры:
-
htmlЕсли true, HTML-сущности будут обработаны как декодированные символы. -
trimWidthЕсли true, будет усечена до заданной ширины.
Параметры
-
string$text Входная строка.
-
int$start Позиция начала извлечения.
-
int|null$length Желаемая длина.
-
array<string, mixed>$options Массив параметров.
Возвращает
string_wordWrap() protected 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 Разрыв строки с помощью необязательного параметра break. По умолчанию '\n'.
-
bool$cut optional Если cut установлен в true, строка всегда обрезается до заданной ширины.
Возвращает
stringascii() public static
ascii(array $array): string
Преобразует десятичное значение многобайтовой строковой переменной в строку.
Параметры
-
array$array Массив
Возвращает
stringcleanInsert() public static
cleanInsert(string $str, array<string, mixed> $options): string
Очищает строку, отформатированную с помощью Text::insert(), с заданными $options в зависимости от ключа 'clean' в $options. Используется метод по умолчанию - text, но также доступен html. Цель этой функции - заменить все пробелы и ненужные метки вокруг заготовок, которые не были заменены Text::insert().
Параметры
-
string$str Строка для очистки.
-
array<string, mixed>$options Список параметров.
Возвращает
stringСм. также
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Ссылки
getTransliterator() public static
getTransliterator(): Transliterator|null
Получить по умолчанию транслитератор.
Возвращает
Transliterator|nullgetTransliteratorId() public static
getTransliteratorId(): string
Получить идентификатор транслитератора по умолчанию.
Возвращает
stringhighlight() public static
highlight(string $text, array<string>|string $phrase, array<string, mixed> $options = []): string
Выделяет заданную фразу в тексте. Вы можете указать любое выражение в highlighter, которое может включать выражение \1 для включения найденной фразы $phrase.
Параметры:
-
formatЧасть HTML, с помощью которой будет выделена фраза -
htmlЕсли true, игнорируются любые HTML-теги, гарантируя, что выделяется только правильный текст -
regexПользовательская регулярное выражение, используемое для соответствия словам, по умолчанию '|$tag|iu' -
limitОграничение, необязательное, по умолчанию -1 (нет)
Параметры
-
string$text Текст для поиска фразы.
-
array<string>|string$phrase Фраза или фразы, которые будут искаться.
-
array<string, mixed>$options optional Массив HTML-атрибутов и параметров.
Возвращает
stringСсылки
insert() public static
insert(string $str, array $data, array<string, mixed> $options = []): string
Заменяет переменные заготовки внутри $str на любые заданные данные. Каждый ключ в массиве $data соответствует имени переменной заготовки в $str. Пример:
Text::insert(':name is :age years old.', ['name' => 'Bob', 'age' => '65']); Возвращает: Боб 65 лет.
Доступные $options:
- before: Символ или строка перед именем переменной заготовки (По умолчанию
:) - after: Символ или строка после имени переменной заготовки (По умолчанию null)
- escape: Символ или строка, используемая для экранирования символа/строки before (По умолчанию
\) - format: Регулярное выражение для поиска переменных заготовок. По умолчанию:
/(?<!\\)\:%s/(Перезаписывает before, after, breaks escape/clean) - clean: Булево значение или массив с инструкциями для Text::cleanInsert
Параметры
-
string$str Строка, содержащая переменные заготовки
-
array$data Массив ключ => значение, где каждый ключ обозначает имя переменной заготовки, которая будет заменена на значение
-
array<string, mixed>$options optional Массив параметров, см. описание выше
Возвращает
stringisMultibyte() public static
isMultibyte(string $string): bool
Проверка наличия многобайтовых символов в строке
Параметры
-
string$string значение для проверки
Возвращает
boolparseFileSize() public static
parseFileSize(string $size, mixed $default = false): mixed
Преобразует размер файла из удобочитаемой строки в байты
Параметры
-
string$size Размер в удобочитаемой строке, например '5MB', '5M', '500B', '50kb' и т. д.
-
mixed$default optional Значение, которое будет возвращено при использовании неверного размера, например 'Неизвестный тип'
Возвращает
mixedИсключения
InvalidArgumentExceptionПри неверном типе единицы измерения.
Ссылки
setTransliterator() public static
setTransliterator(Transliterator $transliterator): void
Установить значение по умолчанию для транслитератора.
Параметры
-
Transliterator$transliterator Экземпляр
Transliterator.
Возвращаемое значение
voidsetTransliteratorId() public static
setTransliteratorId(string $transliteratorId): void
Установить строку-идентификатор по умолчанию для транслитератора.
Параметры
-
string$transliteratorId Идентификатор транслитератора.
Возвращаемое значение
voidslug() public static
slug(string $string, array<string, mixed>|string $options = []): string
Возвращает строку, в которой все пробелы заменены дефисами (по умолчанию), символы транслитерированы в ASCII символы, а небуквенно-цифровые символы удалены.
Параметры:
-
replacement: Замещающая строка. По умолчанию '-'. -
transliteratorId: Действительная строка-идентификатор транслитератора. Еслиnull(по умолчанию), будет использоваться транслитератор (идентификатор), установленный с помощьюsetTransliteratorId()илиsetTransliterator(). Еслиfalse, транслитерация не будет выполнена, будут удалены только небуквенно-цифровые символы. -
preserve: Конкретный символ, не являющийся буквенно-цифровым, который нужно сохранить. По умолчаниюnull. Например, этот параметр можно установить на '.' для генерации чистых имён файлов.
Параметры
-
string$string строка, которую вы хотите преобразовать в slug
-
array<string, mixed>|string$options optional Если строка, она будет использована в качестве символа замены или массива параметров.
Возвращаемое значение
stringСм. также
setTransliteratorId()
tail() public static
tail(string $text, int $length = 100, array<string, mixed> $options = []): string
Обрезает текст, начиная с конца.
Обрезает строку до длины $length и заменяет первые символы многоточием, если текст длиннее длины.
Параметры:
-
ellipsisБудет использоваться как начало и предварять обрезанную строку -
exactЕсли false, $text не будет обрезан посреди слова
Параметры
-
string$text Строка для обрезки.
-
int$length optional Длина возвращаемой строки, включая многоточие.
-
array<string, mixed>$options optional Массив параметров.
Возвращаемое значение
stringtoList() public static
toList(array<string> $list, string|null $and = null, string $separator = ', '): string
Создаёт список, разделённый запятыми, где последние два элемента объединяются со словом «и», образуя естественный язык.
Параметры
-
array<string>$list Список для объединения.
-
string|null$and optional Слово, используемое для объединения последних двух элементов. По умолчанию «и».
-
string$separator optional Разделитель, используемый для объединения остальных элементов. По умолчанию ', '.
Возвращаемое значение
stringСсылки
tokenize() public static
tokenize(string $data, string $separator = ',', string $leftBound = '(', string $rightBound = ')'): array<string> Разбивает строку на токены, используя $separator, игнорируя любые вхождения $separator, которые появляются между $leftBound и $rightBound.
Параметры
-
string$data Данные для разбиения на токены.
-
string$separator optional Токен для разбиения данных.
-
string$leftBound optional Левая граница для игнорирования разделителей.
-
string$rightBound optional Правая граница для игнорирования разделителей.
Возвращаемое значение
array<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См. также
truncate() public static
truncate(string $text, int $length = 100, array<string, mixed> $options = []): string
Обрезает текст.
Обрезает строку до длины $length и заменяет последние символы многоточием, если текст длиннее длины.
Параметры:
-
ellipsisБудет использоваться как окончание и добавляться к обрезанной строке -
exactЕсли false, $text не будет обрезан посреди слова -
htmlЕсли true, теги HTML будут обработаны корректно -
trimWidthЕсли true, $text будет обрезан по ширине
Параметры
-
string$text Строка для обрезки.
-
int$length optional Длина возвращаемой строки, включая многоточие.
-
array<string, mixed>$options optional Массив атрибутов HTML и параметров.
Возвращаемое значение
stringСсылки
truncateByWidth() public static
truncateByWidth(string $text, int $length = 100, array<string, mixed> $options = []): string
Обрезка текста с заданной шириной.
Параметры
-
string$text Строка для обрезки.
-
int$length optional Длина возвращаемой строки, включая многоточие.
-
array<string, mixed>$options optional Массив атрибутов HTML и параметров.
Возвращаемое значение
stringСм. также
utf8() public static
utf8(string $string): array
Преобразует строку с многобайтовыми символами в десятичное значение символа.
Параметры
-
string$string Строка для преобразования.
Возвращаемое значение
arrayuuid() public static
uuid(): string
Генерирует случайный UUID версии 4.
Предупреждение: Этот метод не следует использовать в качестве генератора случайных чисел для любых криптографических операций. Вместо этого следует использовать расширения openssl или mcrypt.
Также его не следует использовать для создания идентификаторов, которые имеют последствия для безопасности, например, «неугадываемых» идентификаторов URL. Вместо этого следует использовать {@link \Cake\Utility\Security::randomBytes()}` для этого.
Возвращаемое значение
stringСм. также
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, строка всегда обрезается на заданную ширину.
Возвращаемое значение
stringwrap() public static
wrap(string $text, array<string, mixed>|int $options = []): string
Обёртку текста до заданной ширины, можно задать обертку по словам.
Параметры
-
widthШирина обёртки. По умолчанию 72. -
wordWrapТолько обёртка по словам (пробелам). По умолчанию true. -
indentСтрока для отступа. По умолчанию null. -
indentAt0-индексированный индекс, с которого начинается отступ. По умолчанию 0.
Параметры
-
string$text Текст для форматирования.
-
array<string, mixed>|int$options optional Массив параметров или целое число для ширины обёртки.
Возвращает
stringwrapBlock() public static
wrapBlock(string $text, array<string, mixed>|int $options = []): string
Обёртка целого блока текста до заданной ширины, можно задать обертку по словам.
Параметры
-
widthШирина обёртки. По умолчанию 72. -
wordWrapТолько обёртка по словам (пробелам). По умолчанию true. -
indentСтрока для отступа. По умолчанию null. -
indentAt0-индексированный индекс, с которого начинается отступ. По умолчанию 0.
Параметры
-
string$text Текст для форматирования.
-
array<string, mixed>|int$options optional Массив параметров или целое число для ширины обёртки.
Возвращает
stringПодробное описание свойств
$_defaultHtmlNoCount protected static
Теги HTML по умолчанию, которые не должны учитываться при обрезке текста.
Тип
array<string>$_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.3/class-Cake.Utility.Text.html