Класс Text
Методы обработки текста.
Краткое описание свойств
- Строка-идентификатор по умолчанию для транслитератора.
string
Краткое описание методов
- Удаляет последнее слово из входного текста.
- Получить длину строки.
- Возвращает часть строки.
- Unicode-совместимая версия wordwrap как вспомогательный метод.
-
Преобразует десятичное значение многобайтовой строковой переменной в строку.
-
Очищает строку, отформатированную с помощью Text::insert(), с заданными $options в зависимости от ключа 'clean' в $options. По умолчанию используется метод text, но также доступен метод html. Цель этой функции — заменить все пробелы и ненужные теги вокруг заглушек, которые не были заменены Text::insert().
-
Извлекает фрагмент текста, окружающий фразу, с заданным количеством символов с каждой стороны, определяемым радиусом.
- Получить строку-идентификатор транслитератора по умолчанию.
-
Выделяет заданную фразу в тексте. Вы можете указать любое выражение в инструменте подсветки, которое может включать выражение \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 - Текст для форматирования.
- целое число
$widthопционально 72 - Ширина обёртывания. По умолчанию 72.
- строка
$breakопционально "\n" - Строка разрыва строки. По умолчанию '\n'.
- булево
$cutопционально false - Если cut = 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необязательно '...' - Окончание, которое будет добавлено
Возвращает
строкаИзменённая строка
Ссылка
http://book.cakephp.org/3.0/ru/core-libraries/string.html#extracting-an-excerptgetTransliteratorId()source public static
getTransliteratorId( )
Получение идентификатора транслитератора по умолчанию.
Возвращает
строкаИдентификатор транслитератора.
highlight()source public static
highlight( string $text , string|array $phrase , array $options [] )
Выделяет заданную фразу в тексте. Вы можете указать любое выражение в выделении, которое может включать выражение \1 для включения найденной фразы.
Параметры:
-
formatЧасть HTML, с помощью которой будет выделена фраза -
htmlЕсли true, игнорирует HTML-теги, гарантируя, что выделена только правильная фраза -
regexПользовательское правило регулярного выражения для соответствия словам, по умолчанию '|$tag|iu'
Параметры
- строка
$text - Текст для поиска фразы.
- строка|массив
$phrase - Фраза или фразы, которые будут искаться.
- массив
$optionsнеобязательно [] - Массив HTML-атрибутов и параметров.
Возвращает
строкаВыделенный текст
Ссылка
http://book.cakephp.org/3.0/ru/core-libraries/string.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: Логическое значение или массив с инструкциями для Text::cleanInsert
Параметры
- строка
$str - Строка, содержащая переменные-заполнители
- массив
$data Массив ключ => значение, где каждый ключ представляет имя переменной-заполнителя, которую нужно заменить на значение
- массив
$optionsнеобязательно [] - Массив параметров, см. описание выше
Возвращает
строкаisMultibyte()source public static
isMultibyte( string $string )
Проверка, содержит ли строка многобайтовые символы
Параметры
- строка
$string - значение для проверки
Возвращает
booleanparseFileSize()source public static
parseFileSize( string $size , mixed $default false )
Преобразование размера файла из удобочитаемой строки в байты
Параметры
- строка
$size - Размер в удобочитаемой строке, например '5MB', '5M', '500B', '50kb' и т.д.
- смешанный
$defaultнеобязательно false - Значение, которое должно быть возвращено при использовании некорректного размера, например 'Неизвестный тип'
Возвращает
смешанныйКоличество байтов как целое число при успехе,
$default при ошибке, если не falseИсключения
InvalidArgumentExceptionПри некорректном типе единицы измерения.
Ссылка
http://book.cakephp.org/3.0/ru/core-libraries/helpers/text.htmlsetTransliteratorId()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 - строка, которую вы хотите привести к слэгу
- массив
$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необязательно ', ' - Разделитель, используемый для соединения всех остальных элементов. По умолчанию ', '.
Возвращает
строкаСклеенная строка.
Ссылка
http://book.cakephp.org/3.0/ru/core-libraries/string.html#converting-an-array-to-sentence-formtokenize()source public static
tokenize( string $data , string $separator ',' , string $leftBound '(' , string $rightBound ')' ) Разбивает строку на токены, используя $separator, игнорируя любые вхождения $separator, которые появляются между $leftBound и $rightBound.
Параметры
- string
$data - Данные для разбиения на токены.
- string
$separatorнеобязательно ',' - Разделитель для разбиения данных.
- string
$leftBoundнеобязательно '(' - Левая граница для игнорирования разделителей.
- string
$rightBoundнеобязательно ')' - Правая граница для игнорирования разделителей.
Возвращаемое значение
array|stringМассив токенов в $data или исходный входной параметр, если он пуст.
transliterate()source public static
transliterate( string $string , string|null $transliteratorId null )
Транслитерация строки.
Параметры
- string
$string - Строка для транслитерации.
- string|null
$transliteratorIdнеобязательно null Идентификатор транслитератора. Если null, будет использован Text::$_defaultTransliteratorId.
Возвращаемое значение
stringСм. также
http://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 будет усечён с заданной шириной
Параметры
- string
$text - Строка для усечения.
- integer
$lengthнеобязательно 100 - Длина возвращаемой строки, включая многоточие.
- array
$optionsнеобязательно [] - Массив HTML-атрибутов и опций.
Возвращаемое значение
stringОбрезанная строка.
Ссылка
http://book.cakephp.org/3.0/ru/core-libraries/string.html#truncating-texttruncateByWidth()source public static
truncateByWidth( string $text , integer $length 100 , array $options [] )
Усечение текста с заданной шириной.
Параметры
- string
$text - Строка для усечения.
- integer
$lengthнеобязательно 100 - Длина возвращаемой строки, включая многоточие.
- array
$optionsнеобязательно [] - Массив HTML-атрибутов и опций.
Возвращаемое значение
stringОбрезанная строка.
См. также
\Cake\Utility\Text::truncate()utf8()source public static
utf8( string $string )
Преобразует строку с многобайтовыми символами в десятичное значение символа
Параметры
- string
$string - Строка для преобразования.
Возвращаемое значение
arrayuuid()source public static
uuid( )
Генерирует случайный UUID версии 4.
Предупреждение: Этот метод не следует использовать в качестве случайного семени для криптографических операций. Вместо этого используйте расширения openssl или mcrypt.
Возвращаемое значение
stringUUID в формате RFC 4122
См. также
http://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 )
Unicode и newline-ориентированная версия wordwrap.
Параметры
- string
$text - Текст для форматирования.
- integer
$widthнеобязательно 72 - Ширина для обрезки. По умолчанию 72.
- string
$breakнеобязательно "\n" - Строка, используемая для разрыва строки. По умолчанию '\n'.
- boolean
$cutнеобязательно false - Если значение true, строка всегда будет обрезана по указанной ширине.
Возвращаемое значение
stringОтформатированный текст.
wrap()source public static
wrap( string $text , array|integer $options [] )
Обрезает текст до заданной ширины, с опцией обрезки по словам.
Опции
-
widthШирина обрезки. По умолчанию 72. -
wordWrapОбрезка только по словам (пробелам). По умолчанию true. -
indentСтрока для отступа. По умолчанию null. -
indentAt0-индексированный номер, с которого начинать отступ. По умолчанию 0.
Параметры
- string
$text - Текст для форматирования.
- array|integer
$optionsнеобязательно [] - Массив опций или целое число для ширины обрезки.
Возвращаемое значение
stringОтформатированный текст.
wrapBlock()source public static
wrapBlock( string $text , array|integer $options [] )
Обрезает весь блок текста до заданной ширины, с опцией обрезки по словам.
Опции
-
widthШирина обрезки. По умолчанию 72. -
wordWrapОбрезка только по словам (пробелам). По умолчанию true. -
indentСтрока для отступа. По умолчанию null. -
indentAt0-индексированный номер, с которого начинать отступ. По умолчанию 0.
Параметры
- string
$text - Текст для форматирования.
- array|integer
$optionsнеобязательно [] - Массив опций или целое число для ширины обрезки.
Возвращаемое значение
stringОтформатированный текст.
Подробное описание свойств
$_defaultTransliteratorIdsource
protected static string
Идентификатор по умолчанию для транслитератора.
Параметр
string $_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.3/class-Cake.Utility.Text.html