Класс Текст
Методы обработки текста.
Краткое описание свойств
- По умолчанию теги HTML, которые не должны учитываться при обрезке текста.
array - Строка идентификатора по умолчанию для транслитератора.
string
Краткое описание методов
- Удаляет последнее слово из входного текста.
- Получение длины строки.
- Возвращает часть строки.
- Версия wordwrap, учитывающая Unicode, как вспомогательный метод.
-
Преобразует десятичное значение многобайтовой строки символов в строку
-
Очищает строку, отформатированную с помощью 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
- Версия wordwrap, учитывающая Unicode и символы новой строки.
- Обёртка текста до указанной ширины, по желанию может обрезать по словам.
-
Обёртка всего блока текста до указанной ширины, по желанию может обрезать по словам.
Подробное описание методов
_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 )
Версия wordwrap, учитывающая Unicode, как вспомогательный метод.
Параметры
- строка
$text - Текст для форматирования.
- целое число
$widthпо умолчанию 72 - Ширина обрезки. По умолчанию 72.
- строка
$breakпо умолчанию "\n" - Символ, используемый для разрыва строки. По умолчанию '\n'.
- логическое значение
$cutпо умолчанию 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. Цель этой функции — заменить все пробелы и нежелательные метки разметки вокруг заполнителей, которые не были заменены 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 [] )
Заменяет переменные заполнители внутри $str любыми заданными значениями $data. Каждый ключ в массиве $data соответствует имени переменного заполнителя в $str. Пример:
Text::insert(':name is :age years old.', ['name' => 'Bob', 'age' => '65']); Возвращает: Боб — 65 лет.
Доступны следующие параметры $options:
- before: Символ или строка перед именем переменного заполнителя (По умолчанию
:) - after: Символ или строка после имени переменного заполнителя (По умолчанию null)
- escape: Символ или строка, используемая для экранирования символа/строки перед (По умолчанию
\) - format: Регулярное выражение для сопоставления переменных заполнителей. По умолчанию:
/(?<!\\)\:%s/(Перезаписывает before, after, отключает escape / clean) - clean: Булево значение или массив с инструкциями для Text::cleanInsert
Параметры
- строка
$str - Строка, содержащая переменные заполнители
- массив
$data Массив ключ => значение, где каждый ключ представляет имя переменной-заполнителя, которое будет заменено значением
- массив
$optionsнеобязательно [] - Массив параметров, см. описание выше
Возвращает
строкаisMultibyte()source public static
isMultibyte( string $string )
Проверить, содержит ли строка многобайтовые символы
Параметры
- строка
$string - Значение для проверки
Возвращает
булево значениеparseFileSize()source public static
parseFileSize( string $size , mixed $default false )
Преобразует размер файла из удобочитаемой строки в байты
Параметры
- строка
$size - Размер в удобочитаемой строке, например, '5МБ', '5М', '500Б', '50кб' и т. д.
- смешанный
$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
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 )
Версия wordwrap, учитывающая юникод и символы новой строки.
Параметры
- строка
$text - Текст для форматирования.
- целое число
$widthнеобязательно 72 - Ширина обрезки. По умолчанию 72.
- строка
$breakнеобязательно "\n" - Строка, используемая для разрыва строки. По умолчанию «\n».
- логическое значение
$cutнеобязательно false - Если cut = 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–2018 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.5/class-Cake.Utility.Text.html