Класс Текст
Методы обработки текста.
Краткое описание свойств
- По умолчанию теги HTML, которые не нужно учитывать при обрезке текста.
array - Строка идентификатора по умолчанию для транслитератора.
string
Краткое описание методов
- Удаляет последнее слово из входного текста.
- Получение длины строки.
- Возвращает часть строки.
- Unicode-совместимая версия wordwrap как вспомогательный метод.
-
Преобразует десятичное значение строки многобайтового символа в строку
-
Очищает строку, отформатированную Text::insert(), с заданными $options в зависимости от ключа 'clean' в $options. По умолчанию используется метод text, но также доступен html. Цель этой функции — заменить все пробелы и ненужные метки разметки вокруг заполнитель, которые не были заменены Text::insert().
-
Извлекает выдержку из текста, окружающего фразу с количеством символов с каждой стороны, определяемым радиусом.
- Получить строку идентификатора по умолчанию для транслитератора.
-
Выделяет заданную фразу в тексте. Вы можете указать любое выражение в highlighter, которое может включать выражение \1 для включения найденной $phrase.
-
Заменяет переменные плацехолдеры внутри $str на любые заданные $data. Каждый ключ в массиве $data соответствует имени переменной плацехолдера в $str. Пример:
Text::insert(':name is :age years old.', ['name' => 'Bob', 'age' => '65']);Возвращает: Боб — 65 лет.
- Проверка, содержит ли строка многобайтовые символы
- Преобразование размера файла из удобочитаемой строки в байты
- Установить строку идентификатора по умолчанию для транслитератора.
-
Возвращает строку, в которой все пробелы преобразуются в тире (по умолчанию), символы транслитерируются в символы ASCII, а небуквенные символы удаляются.
- Удаляет из заданного текста все ссылки (<a href=....).
- Обрезает текст, начиная с конца.
- Создает список, разделенный запятыми, где последние два элемента объединяются с 'и', формируя естественный язык.
-
Токенизирует строку с использованием $separator, игнорируя любые экземпляры $separator, которые появляются между $leftBound и $rightBound.
- Транслитерировать строку.
- Обрезать текст.
- Обрезать текст с заданной шириной.
-
Преобразует строку многобайтового символа в десятичное значение символа
- Генерировать случайный UUID версии 4
- Unicode- и символ-нового-строка-сознающая версия wordwrap.
- Обертывает текст до определенной ширины, может дополнительно обрезать по словам.
-
Обертывает весь блок текста до определенной ширины, может дополнительно обрезать по словам.
Подробное описание методов
_removeLastWord()source protected static
_removeLastWord( string $text )
Удаляет последнее слово из входного текста.
Параметры
- строка
$text - Входной текст
Возвращает
строка_strlen()source protected static
_strlen( string $text , array $options )
Получение длины строки.
Опции:
-
htmlЕсли true, сущности HTML будут обрабатываться как декодированные символы. -
trimWidthЕсли true, ширина будет возвращена.
Параметры
- строка
$text - Строка, длина которой проверяется
- массив
$options - Массив опций.
Возвращает
целое число_substr()source protected static
_substr( string $text , integer $start , integer $length , array $options )
Возвращает часть строки.
Опции:
-
htmlЕсли true, сущности HTML будут обрабатываться как декодированные символы. -
trimWidthЕсли true, будет обрезано с заданной шириной.
Параметры
- строка
$text - Входная строка.
- целое число
$start - Позиция начала извлечения.
- целое число
$length - Желаемая длина.
- массив
$options - Массив опций.
Возвращает
строка_wordWrap()source protected static
_wordWrap( string $text , integer $width = 72 , string $break = "\n" , boolean $cut = false )
Unicode-совместимая версия wordwrap как вспомогательный метод.
Параметры
- строка
$text - Текст для форматирования.
- целое число
$widthoptional 72 - Ширина для обрезки. По умолчанию 72.
- строка
$breakoptional "\n" - Строка, используемая для разрыва строки. По умолчанию '\n'.
- логическое значение
$cutoptional false - Если обрезка установлена в true, строка всегда обрезается по заданной ширине.
Возвращает
строкаОтформатированный текст.
ascii()source public static
ascii( array $array )
Преобразует десятичное значение строки многобайтового символа в строку
Параметры
- массив
$array - Массив
Возвращает
строкаcleanInsert()source public static
cleanInsert( string $str , array $options )
Очищает строку, отформатированную с помощью Text::insert(), с заданными параметрами $options в зависимости от ключа 'clean' в $options. По умолчанию используется метод text, но также доступен метод html. Целью этой функции является замена всех пробелов и ненужной разметки вокруг заменённых, но не замещённых placeholder-ов функцией Text::insert().
Параметры
- строка
$str - Строка для очистки.
- массив
$options - Список параметров.
Возвращает
строкаСм. также
\Cake\Utility\Text::insert()excerpt()source public static
excerpt( string $text , string $phrase , integer $radius = 100 , string $ellipsis = '...' )
Извлекает фрагмент текста, окружающий фразу, с заданным количеством символов по обе стороны, определяемым радиусом.
Параметры
- строка
$text - Строка для поиска фразы в ней
- строка
$phrase - Фраза, которая будет искомой
- целое число
$radiusнеобязательно 100 - Количество символов, которые будут возвращены по обе стороны найденной фразы
- строка
$ellipsisнеобязательно '...' - Окончание, которое будет добавлено
Возвращает
строкаИзменённая строка
Ссылка
https://book.cakephp.org/3.0/ru/core-libraries/text.html#extracting-an-excerptgetTransliteratorId()source public static
getTransliteratorId( )
Получить строку идентификатора по умолчанию для транслитератора.
Возвращает
строкаИдентификатор транслитератора.
highlight()source public static
highlight( string $text , string|array $phrase , array $options = [] )
Выделяет заданную фразу в тексте. Можно указать любое выражение в инструменте подсветки, которое может включать выражение \1 для включения найденной фразы $phrase.
Параметры:
-
formatЧасть HTML, с помощью которой будет выделена фраза -
htmlЕсли true, игнорирует теги HTML, гарантируя, что выделяется только правильный текст -
regexПользовательское правило регулярного выражения, используемое для сопоставления слов, по умолчанию '|$tag|iu' -
limitОграничение, необязательное, по умолчанию -1 (нет)
Параметры
- строка
$text - Текст для поиска фразы в нём.
- строка|массив
$phrase - Фраза или фразы, которые будут искомыми.
- массив
$optionsнеобязательно [] - Массив атрибутов и параметров HTML.
Возвращает
строкаВыделенный текст
Ссылка
https://book.cakephp.org/3.0/ru/core-libraries/text.html#highlighting-substringsinsert()source public static
insert( string $str , array $data , array $options = [] )
Заменяет placeholder-ы переменных внутри $str любыми заданными $data. Каждый ключ в массиве $data соответствует имени placeholder-а переменной в $str. Пример:
Text::insert(':name is :age years old.', ['name' => 'Bob', 'age' => '65']); Возвращает: Боб 65 лет.
Доступные $options:
- before: Символ или строка перед именем placeholder-а переменной (По умолчанию
:) - after: Символ или строка после имени placeholder-а переменной (По умолчанию null)
- escape: Символ или строка, используемая для экранирования символа/строки before (По умолчанию
\) - format: Регулярное выражение для сопоставления placeholder-ов переменных. По умолчанию:
/(?<!\\)\:%s/(Переопределяет before, after, разбивает escape / clean) - clean: Логическое значение или массив с инструкциями для Text::cleanInsert
Параметры
- строка
$str - Строка, содержащая placeholder-ы переменных
- массив
$data Массив ключ => значение, где каждый ключ представляет имя placeholder-а переменной, которое будет заменено на значение
- массив
$optionsнеобязательно [] - Массив параметров, см. описание выше
Возвращает
строкаisMultibyte()source public static
isMultibyte( string $string )
Проверяет, содержит ли строка многобайтовые символы
Параметры
- строка
$string - Значение для проверки
Возвращает
логическое значениеparseFileSize()source public static
parseFileSize( string $size , mixed $default = false )
Преобразует размер файла из удобочитаемой строки в байты
Параметры
- строка
$size - Размер в удобочитаемой строке, например '5MB', '5M', '500B', '50kb' и т.д.
- смешанное
$defaultнеобязательно false - Значение, которое будет возвращено при использовании недопустимого размера, например 'Неизвестный тип'
Возвращает
смешанноеКоличество байтов как целое число при успехе,
$default при ошибке, если не falseВызывает
InvalidArgumentExceptionПри недопустимом типе единицы.
Ссылка
https://book.cakephp.org/3.0/ru/core-libraries/text.html#Cake\Utility\Text::parseFileSizesetTransliteratorId()source public static
setTransliteratorId( string $transliteratorId )
Установить строку идентификатора транслитератора по умолчанию.
Параметры
- строка
$transliteratorId - Идентификатор транслитератора.
slug()source public static
slug( string $string , array $options = [] )
Возвращает строку, в которой все пробелы заменены на дефисы (по умолчанию), символы транслитерированы в ASCII-символы, а небуквенные символы удалены.
Параметры:
-
replacementСтрока-замена. По умолчанию '-'. -
transliteratorIdДействительный идентификатор транслитератора. Если по умолчаниюnullText::$_defaultTransliteratorId, будет использоваться. Еслиfalseтранслитерация не будет выполнена, будут удалены только небуквенные символы. -
preserveКонкретный небуквенный символ, который нужно сохранить. По умолчаниюnull. Например, этот параметр можно установить на '.' для создания чистых имён файлов.
Параметры
- строка
$string - строка, которую вы хотите slug-изировать
- массив
$optionsнеобязательно [] Если строка, она будет использована как символ-замена, или массив параметров.
Возвращает
строкаstripLinks()source public static deprecated
stripLinks( string $text )
Удаляет из заданного текста все ссылки (<a href=....).
Предупреждение Этот метод не является надёжным решением для предотвращения XSS или вредоносного HTML.
Устарело
3.2.12 Этот метод будет удален в версии 4.0.0Параметры
- строка
$text - Текст
Возвращает
строкаТекст без ссылок
tail()source public static
tail( string $text , integer $length = 100 , array $options = [] )
Обрезает текст, начиная с конца.
Обрезает строку до длины $length и заменяет первые символы многоточием, если текст длиннее длины.
Параметры:
-
ellipsisБудет использоваться как начало и добавляться к обрезанной строке -
exactЕсли false, $text не будет обрезаться посреди слова
Параметры
- строка
$text - Строка для обрезки.
- целое число
$lengthнеобязательно 100 - Длина возвращаемой строки, включая многоточие.
- массив
$optionsнеобязательно [] - Массив параметров.
Возвращает
строкаОбрезанная строка.
toList()source public static
toList( array $list , string|null $and = null , string $separator = ', ' )
Создаёт список, разделённый запятыми, где последние два элемента объединяются со словом «и», образуя естественный язык.
Параметры
- массив
$list - Список, который нужно объединить.
- строка|null
$andнеобязательно null - Слово, используемое для объединения последних двух элементов. По умолчанию «и».
- строка
$separatorнеобязательно ', ' - Разделитель, используемый для объединения всех остальных элементов. По умолчанию ', '.
Возвращает
строкаОбъединённая строка.
Ссылка
https://book.cakephp.org/3.0/ru/core-libraries/text.html#converting-an-array-to-sentence-formtokenize()source public static
tokenize( string $data , string $separator = ',' , string $leftBound = '(' , string $rightBound = ')' ) Токенизирует строку с использованием $separator, игнорируя любые вхождения $separator, которые появляются между $leftBound и $rightBound.
Параметры
- строка
$data - Данные для токенизации.
- строка
$separatorнеобязательно ',' - Токен для разделения данных.
- строка
$leftBoundнеобязательно '(' - Левая граница для игнорирования разделителей.
- строка
$rightBoundнеобязательно ')' - Правая граница для игнорирования разделителей.
Возвращает
массив|строкаМассив токенов в $data или исходный ввод, если он пустой.
transliterate()source public static
transliterate( string $string , string|null $transliteratorId = null )
Транслитерация строки.
Параметры
- строка
$string - Строка для транслитерации.
- строка|null
$transliteratorIdнеобязательно null Идентификатор транслитератора. Если null, будет использован Text::$_defaultTransliteratorId.
Возвращает
строкаСм. также
https://secure.php.net/manual/en/transliterator.transliterate.phptruncate()source public static
truncate( string $text , integer $length = 100 , array $options = [] )
Обрезает текст.
Усекает строку до длины $length и заменяет последние символы многоточием, если текст длиннее, чем длина.
Параметры:
-
ellipsisБудет использоваться в качестве окончания и добавляться к обрезанной строке -
exactЕсли false, $text не будет обрезаться посередине слова -
htmlЕсли true, HTML-теги будут обработаны корректно -
trimWidthЕсли true, $text будет обрезан с шириной
Параметры
- строка
$text - Строка для обрезки.
- целое число
$lengthнеобязательно 100 - Длина возвращаемой строки, включая многоточие.
- массив
$optionsнеобязательно [] - Массив HTML-атрибутов и параметров.
Возвращает
строкаОбрезанная строка.
Ссылка
https://book.cakephp.org/3.0/ru/core-libraries/text.html#truncating-texttruncateByWidth()source public static
truncateByWidth( string $text , integer $length = 100 , array $options = [] )
Обрезание текста с заданной шириной.
Параметры
- строка
$text - Строка для обрезки.
- целое число
$lengthнеобязательно 100 - Длина возвращаемой строки, включая многоточие.
- массив
$optionsнеобязательно [] - Массив HTML-атрибутов и параметров.
Возвращает
строкаОбрезанная строка.
См. также
\Cake\Utility\Text::truncate()utf8()source public static
utf8( string $string )
Преобразует строку с многобайтовыми символами в десятичное значение символа
Параметры
- строка
$string - Строка для преобразования.
Возвращает
массивuuid()source public static
uuid( )
Генерирует случайный UUID версии 4
Предупреждение: Этот метод не следует использовать в качестве случайного начального значения для криптографических операций. Вместо этого следует использовать расширения openssl или mcrypt.
Также не следует использовать для создания идентификаторов, имеющих последствия для безопасности, таких как идентификаторы URL «неугадываемые». Вместо этого следует использовать Security::randomBytes() для этой цели.
Возвращает
строкаUUID RFC 4122
См. также
https://www.ietf.org/rfc/rfc4122.txtАвторские права
Matt Farina MIT License https://github.com/lootils/uuid/blob/master/LICENSEwordWrap()source public static
wordWrap( string $text , integer $width = 72 , string $break = "\n" , boolean $cut = false )
Многобайтовый и новый aware вариант wordwrap.
Параметры
- строка
$text - Текст для форматирования.
- целое число
$widthнеобязательно 72 - Ширина обрезки. По умолчанию 72.
- строка
$breakнеобязательно "\n" - Строка, используемая для разрыва строки. По умолчанию '\n'.
- булево
$cutнеобязательно false - Если обрезка установлена true, строка всегда обрезается до указанной ширины.
Возвращает
строкаОтформатированный текст.
wrap()source public static
wrap( string $text , array|integer $options = [] )
Оборачивает текст до заданной ширины, необязательно оборачивая на границах слов.
Параметры
-
widthШирина обрезки. По умолчанию 72. -
wordWrapОборачивать только на границах слов (пробелы). По умолчанию true. -
indentСтрока для отступа. По умолчанию null. -
indentAtИндекс от 0 для начала отступа. По умолчанию 0.
Параметры
- строка
$text - Текст для форматирования.
- массив|целое число
$optionsнеобязательно [] - Массив параметров или целое число для обрезки текста.
Возвращает
строкаОтформатированный текст.
wrapBlock()source public static
wrapBlock( string $text , array|integer $options = [] )
Оборачивает весь блок текста до заданной ширины, необязательно оборачивая на границах слов.
Параметры
-
widthШирина обрезки. По умолчанию 72. -
wordWrapОборачивать только на границах слов (пробелы). По умолчанию true. -
indentСтрока для отступа. По умолчанию null. -
indentAtИндекс от 0 для начала отступа. По умолчанию 0.
Параметры
- строка
$text - Текст для форматирования.
- массив|целое число
$optionsнеобязательно [] - Массив параметров или целое число для обрезки текста.
Возвращает
строкаОтформатированный текст.
Подробное описание свойств
$_defaultHtmlNoCountsource
protected static массив
HTML-теги по умолчанию, которые не должны учитываться при обрезке текста.
[
'style',
'script'
] $_defaultTransliteratorIdsource
protected static строка
Идентификатор строки транслитератора по умолчанию.
Параметр
строка $_defaultTransliteratorId Идентификатор строки транслитератора.'Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove'
© 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/3.6/class-Cake.Utility.Text.html