Класс Текст
Методы обработки текста.
Краткое описание свойств
- Строка идентификатора по умолчанию для транслитерации.
string
Краткое описание методов
- Удаляет последнее слово из входного текста.
- Получение длины строки.
- Возвращает часть строки.
- Версия wordwrap, учитывающая Unicode, как вспомогательный метод.
-
Преобразует десятичное значение многобайтовой строковой переменной в строку
-
Очищает строку, отформатированную с помощью Text::insert(), с заданными параметрами $options, в зависимости от ключа 'clean' в $options. По умолчанию используется метод text, но также доступен html. Цель этой функции — заменить все пробелы и ненужные теги вокруг заменённых заготовок, которые не были заменены Text::insert().
-
Извлекает фрагмент из текста, окружающего фразу с заданным числом символов по обе стороны, определяемым радиусом.
- Получение строки идентификатора транслитератора по умолчанию.
-
Выделяет заданную фразу в тексте. Вы можете указать любое выражение в highlight, которое может включать выражение \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 - Текст для форматирования.
- целое число
$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необязательно '...' - Окончание, которое будет добавленно
Возвращает
строкаИзменённая строка
Ссылка
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 [] )
Выделяет заданную фразу в тексте. Вы можете указать любое выражение в highlighter, которое может включать выражение \1 для включения найденной фразы $phrase.
Опции:
-
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: символ или строка, используемая для экранирования символа/строки перед (по умолчанию
\) - 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 - Размер в читаемой строке, например '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 - строка, которую вы хотите преобразовать в 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 ', ' )
Создаёт список, разделённый запятыми, где последние два элемента соединены со словом «и», образуя естественный язык.
Параметры
- array
$list - Список, который необходимо объединить.
- string|null
$andнеобязательно null - Слово, используемое для соединения последних двух элементов. По умолчанию «и».
- string
$separatorнеобязательно ', ' - Разделитель, используемый для соединения всех остальных элементов. По умолчанию ', '.
Возвращает
stringОбъединённая строка.
Ссылка
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 )
Версия wordwrap, учитывающая юникод и символы новой строки.
Параметры
- string
$text - Текст для форматирования.
- integer
$widthнеобязательно 72 - Ширина обрезки. По умолчанию 72.
- string
$breakнеобязательно "\n" - Символ, используемый для разбиения строк. По умолчанию '\n'.
- boolean
$cutнеобязательно false - Если cut равен true, строка всегда обрезается по заданной ширине.
Возвращает
stringОтформатированный текст.
wrap()source public static
wrap( string $text , array|integer $options [] )
Обёртывает текст до определённой ширины, необязательно по словам.
Параметры
-
widthШирина обёртывания. По умолчанию 72. -
wordWrapОбёртывать только по словам (пробелам). По умолчанию true. -
indentСтрока для отступа. По умолчанию null. -
indentAtИндекс отступа, начиная с 0. По умолчанию 0.
Параметры
- string
$text - Текст для форматирования.
- array|integer
$optionsнеобязательно [] - Массив параметров или целое число для обёртывания текста.
Возвращает
stringОтформатированный текст.
wrapBlock()source public static
wrapBlock( string $text , array|integer $options [] )
Обёртывает весь блок текста до заданной ширины, необязательно по словам.
Параметры
-
widthШирина обёртывания. По умолчанию 72. -
wordWrapОбёртывать только по словам (пробелам). По умолчанию true. -
indentСтрока для отступа. По умолчанию null. -
indentAtИндекс отступа, начиная с 0. По умолчанию 0.
Параметры
- string
$text - Текст для форматирования.
- array|integer
$optionsнеобязательно [] - Массив параметров или целое число для обёртывания текста.
Возвращает
stringОтформатированный текст.
Подробное описание свойств
$_defaultTransliteratorIdsource
protected static string
Идентификатор строки по умолчанию для транслитератора.
Параметр
string $_defaultTransliteratorId Строка идентификатора транслитератора.'Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove'
© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Utility.Text.html