Класс 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 и заменяет первые символы многоточием, если текст длиннее 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 и заменяет последние символы многоточием, если текст длиннее 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<int>
Преобразует строку многобайтовых символов в десятичное значение символа
Параметры
-
string$string Строка для преобразования.
Возвращаемое значение
array<int>uuid() public static
uuid(): string
Генерировать случайный UUID версии 4
Предупреждение: Этот метод не должен использоваться в качестве случайного начального значения для любых криптографических операций. Вместо этого следует использовать Security::randomBytes() или Security::randomString().
Также не следует использовать его для создания идентификаторов, имеющих последствия для безопасности, таких как «неугадываемые» идентификаторы 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 Строка разрывается с помощью необязательного параметра break. По умолчанию '\n'.
-
bool$cut optional Если cut установлено в true, строка всегда обрезается по указанной ширине.
Возвращаемое значение
stringwrap() public static
wrap(string $text, array<string, mixed>|int $options = []): string
Обертывает текст до определенной ширины, может необязательно обёртывать по словам.
Параметры
-
widthШирина обёртывания. По умолчанию 72. -
wordWrapТолько обёртывать по пробелам. По умолчанию true. -
indentСтрока для отступа. По умолчанию null. -
indentAtИндекс отступа (с нуля). По умолчанию 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. -
indentAtИндекс отступа (с нуля). По умолчанию 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.4/class-Cake.Utility.Text.html