Класс Текст
Методы обработки текста.
Краткое описание свойств
- Строка идентификатора по умолчанию для транслитератора.
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. Цель этой функции — заменить все пробелы и нежелательные метки разметки вокруг заготовок, которые не были заменены 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: Символ или строка, используемая для экранирования символа/строки before (по умолчанию
\) - 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 и заменяет первые символы многоточием, если текст длиннее 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/ru/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.
Возвращает
строка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, учитывающая Unicode и символы новой строки.
Параметры
- строка
$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необязательно [] - Массив параметров или целое число для обрезки текста.
Возвращает
строкаОтформатированный текст.
Подробное описание свойств
$_defaultTransliteratorIdsource
protected static строка
Идентификатор по умолчанию для транслитератора.
Параметр
строка $_defaultTransliteratorId Идентификатор транслитератора.'Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove'
© 2005–2017 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.4/class-Cake.Utility.Text.html