Spec-Zone.ru › CakePHP 4.3

Класс Text

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

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

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

  • $_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

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

END_OF_DOCUMENT_MARKER

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

_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, строка всегда обрезается до заданной ширины.

Возвращает

string

ascii() public static

ascii(array $array): string

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

Параметры

array $array

Массив

Возвращает

string

cleanInsert() 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

См. также

\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, 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

Ссылки

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

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

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

Возвращает

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, mixed>|string $options = []): string

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

Параметры:

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

Параметры

string $string

строка, которую вы хотите преобразовать в slug

array<string, mixed>|string $options optional

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

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

string

См. также

setTransliterator()
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

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

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

string

toList() public static

toList(array<string> $list, string|null $and = null, string $separator = ', '): string

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

Параметры

array<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 = ')'): 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

См. также

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

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

Ссылки

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

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

См. также

\Cake\Utility\Text::truncate()

utf8() public static

utf8(string $string): array

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

Параметры

string $string

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

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

array

uuid() public static

uuid(): string

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

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

Также его не следует использовать для создания идентификаторов, которые имеют последствия для безопасности, например, «неугадываемых» идентификаторов URL. Вместо этого следует использовать {@link \Cake\Utility\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<string, mixed>|int $options = []): string

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

Параметры

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

Параметры

string $text

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

array<string, mixed>|int $options optional

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

Возвращает

string

wrapBlock() public static

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

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

Параметры

  • width Ширина обёртки. По умолчанию 72.
  • wordWrap Только обёртка по словам (пробелам). По умолчанию true.
  • indent Строка для отступа. По умолчанию null.
  • indentAt 0-индексированный индекс, с которого начинается отступ. По умолчанию 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

Spec-Zone.ru

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