Spec-Zone.ru › CakePHP 4.4

Класс 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 и заменяет первые символы многоточием, если текст длиннее 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 и заменяет последние символы многоточием, если текст длиннее 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<int>

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

Параметры

string $string

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

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

array<int>

uuid() public static

uuid(): string

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

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

Также не следует использовать его для создания идентификаторов, имеющих последствия для безопасности, таких как «неугадываемые» идентификаторы 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

Строка разрывается с помощью необязательного параметра break. По умолчанию '\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.

Параметры

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.

Параметры

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

Spec-Zone.ru

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