Класс CakeText
Методы обработки строк.
Непосредственные подклассы
Авторские права: Авторские права (с) Фонд программного обеспечения Cake, Inc. (https://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Utility/CakeText.php
Краткое описание методов
- Вспомогательный метод для wordWrap().
-
Очищает строку, отформатированную с помощью CakeText::insert(), с заданными $options в зависимости от ключа 'clean' в $options. По умолчанию используется метод text, но также доступен метод html. Цель этой функции — заменить все пробелы и ненужные метки разметки вокруг заполнителей, которые не были заменены методом CakeText::insert().
-
Извлекает выдержку из текста, окружающего фразу, с количеством символов по обе стороны, определяемым радиусом.
-
Выделяет заданную фразу в тексте. Вы можете указать любое выражение в highlighter, которое может включать выражение \1 для включения найденной фразы $phrase.
-
Заменяет переменные-заполнители внутри $str любыми заданными данными $data. Каждый ключ в массиве $data соответствует имени переменного заполнителя в $str. Пример:
CakeText::insert(':name is :age years old.', array('name' => 'Bob', '65'));Возвращает: Боб — 65 лет. - Удаляет из данного текста все ссылки (<a href=....).
- Обрезает текст, начиная с конца.
- Создает список, разделенный запятыми, где последние два элемента соединяются со словом «и», формируя естественный язык.
-
Разбивает строку на токены с использованием $separator, игнорируя любые экземпляры $separator, которые появляются между $leftBound и $rightBound.
- Обрезает текст.
- Генерирует случайный UUID
- Версия wordwrap, учитывающая Unicode.
- Обрезает текст до заданной ширины, при необходимости обрезая по словам.
Подробное описание методов
_wordWrap()исходный код защищен статический
_wordWrap( string $text , integer $width 72 , string $break "\n" , boolean $cut false )
Вспомогательный метод для wordWrap().
Параметры
- строка
$text - Текст для форматирования.
- целое число
$widthнеобязательно 72 - Ширина обрезки. По умолчанию 72.
- строка
$breakнеобязательно "\n" - Строка, используемая для разрыва строки. По умолчанию '\n'.
- логическое значение
$cutнеобязательно false - Если обрезка установлена в значение true, строка всегда будет обрезаться до указанной ширины.
Возвращает
строкаОтформатированный текст.
cleanInsert()исходный код публичный статический
cleanInsert( string $str , array $options )
Очищает строку, отформатированную с помощью CakeText::insert(), с заданными $options в зависимости от ключа 'clean' в $options. По умолчанию используется метод text, но также доступен метод html. Цель этой функции — заменить все пробелы и ненужные метки разметки вокруг заполнителей, которые не были заменены методом CakeText::insert().
Параметры
- строка
$str - Очищаемая строка CakeText.
- массив
$options - Список опций.
Возвращает
строкаСм. также
CakeText::insert()excerpt()исходный код публичный статический
excerpt( string $text , string $phrase , integer $radius 100 , string $ellipsis '...' )
Извлекает выдержку из текста, окружающего фразу, с количеством символов по обе стороны, определяемым радиусом.
Параметры
- строка
$text - Строка CakeText, в которой будет искаться фраза
- строка
$phrase - Фраза, которая будет искаться
- целое число
$radiusнеобязательно 100 - Количество символов, которое будет возвращено по обе стороны от найденной фразы
- строка
$ellipsisнеобязательно '...' - Суффикс, который будет добавлен
Возвращает
строкаИзмененная строка
Ссылка
https://book.cakephp.org/2.0/en/core-libraries/helpers/text.html#TextHelper::excerpthighlight()исходный код публичный статический
highlight( string $text , string|array $phrase , array $options array() )
Выделяет заданную фразу в тексте. Вы можете указать любое выражение в highlighter, которое может включать выражение \1 для включения найденной фразы $phrase.
Параметры:
-
formatЧасть HTML, с помощью которой будет выделена фраза -
htmlЕсли true, то будут проигнорированы все HTML-теги, гарантируя, что выделена только правильная часть текста -
regexпользовательское правило регулярного выражения, которое используется для сопоставления слов, по умолчанию '|$tag|iu'
Параметры
- строка
$text - Текст, в котором будет искаться фраза.
- строка/массив
$phrase - Фраза или фразы, которые будут искаться.
- массив
$optionsнеобязательно массив() - Массив HTML-атрибутов и параметров.
Возвращает
строкаВыделенный текст
Ссылка
https://book.cakephp.org/2.0/en/core-libraries/helpers/text.html#TextHelper::highlightinsert()исходный код публичный статический
insert( string $str , array $data , array $options array() )
Заменяет переменные-заполнители внутри $str любыми заданными данными $data. Каждый ключ в массиве $data соответствует имени переменного заполнителя в $str. Пример: CakeText::insert(':name is :age years old.', array('name' => 'Bob', '65')); Возвращает: Боб — 65 лет.
Доступные $options:
- before: Символ или строка перед именем переменного заполнителя (По умолчанию
:) - after: Символ или строка после имени переменного заполнителя (По умолчанию null)
- escape: Символ или строка, используемая для экранирования символа/строки before (По умолчанию
\) - format: Регулярное выражение для сопоставления переменных-заполнителей. По умолчанию:
/(?<!\\)\:%s/(Переопределяет before, after, breaks escape/clean) - clean: Логическое значение или массив с инструкциями для CakeText::cleanInsert
Параметры
- строка
$str - Строка, содержащая переменные-заполнители
- массив
$data Массив ключ => значение, где каждый ключ представляет имя переменной-заполнителя, которая будет заменена на значение
- массив
$optionsнеобязательно массив() - Массив опций, см. описание выше
Возвращает
строкаstripLinks()исходный код публичный статический
stripLinks( string $text )
Удаляет из данного текста все ссылки (<a href=....).
Параметры
- строка
$text - Текст
Возвращает
строкаТекст без ссылок
Ссылка
https://book.cakephp.org/2.0/en/core-libraries/helpers/text.html#TextHelper::stripLinkstail()source public static
tail( string $text , integer $length 100 , array $options array() )
Усекает текст, начиная с конца.
Обрезает строку до длины $length и заменяет первые символы многоточием, если текст длиннее.
Параметры:
-
ellipsisБудет использоваться как начало и добавляться перед обрезанной строкой -
exactЕсли false, $text не будет обрезаться по середине слова
Параметры
- строка
$text - Текст CakeText для усечения.
- целое число
$lengthнеобязательно 100 - Длина возвращаемой строки, включая многоточие.
- массив
$optionsнеобязательно массив() - Массив опций.
Возвращает
строкаОбрезанная строка.
toList()source public static
toList( array $list , string $and null , string $separator ', ' )
Создаёт список, разделённый запятыми, где последние два элемента соединены через 'и', образуя естественный язык.
Параметры
- массив
$list - Список, который нужно объединить.
- строка
$andнеобязательно null - Слово, используемое для соединения последнего и предпоследнего элементов. По умолчанию 'и'.
- строка
$separatorнеобязательно ', ' - Разделитель, используемый для соединения всех остальных элементов. По умолчанию ', '.
Возвращает
строкаОбъединённая строка.
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/helpers/text.html#TextHelper::toListtokenize()source public static
tokenize( string $data , string $separator ',' , string $leftBound '(' , string $rightBound ')' ) Разбивает строку на токены с помощью $separator, игнорируя любые случаи $separator, которые появляются между $leftBound и $rightBound.
Параметры
- строка
$data - Данные для разбиения на токены.
- строка
$separatorнеобязательно ',' - Токен для разделения данных.
- строка
$leftBoundнеобязательно '(' - Левая граница для игнорирования разделителей.
- строка
$rightBoundнеобязательно ')' - Правая граница для игнорирования разделителей.
Возвращает
смешанный типМассив токенов в $data или исходный ввод, если он пуст.
truncate()source public static
truncate( string $text , integer $length 100 , array $options array() )
Усекает текст.
Обрезает строку до длины $length и заменяет последние символы многоточием, если текст длиннее.
Параметры:
-
ellipsisБудет использоваться как окончание и добавляться к обрезанной строке (endingустарел) -
exactЕсли false, $text не будет обрезаться по середине слова -
htmlЕсли true, HTML-теги будут обработаны правильно
Параметры
- строка
$text - Текст CakeText для усечения.
- целое число
$lengthнеобязательно 100 - Длина возвращаемой строки, включая многоточие.
- массив
$optionsнеобязательно массив() - Массив атрибутов и опций HTML.
Возвращает
строкаОбрезанная строка.
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/helpers/text.html#TextHelper::truncateuuid()source public static
uuid( )
Генерирует случайный UUID
Возвращает
строкаUUID по RFC 4122
См. также
http://www.ietf.org/rfc/rfc4122.txtwordWrap()source public static
wordWrap( string $text , integer $width 72 , string $break "\n" , boolean $cut false )
Unicode-совместимая версия wordwrap.
Параметры
- строка
$text - Текст для форматирования.
- целое число
$widthнеобязательно 72 - Ширина для обрезки. По умолчанию 72.
- строка
$breakнеобязательно "\n" - Строка, используемая для разрыва строки. По умолчанию '\n'.
- логическое значение
$cutнеобязательно false - Если обрезка установлена в true, строка всегда обрезается по указанной ширине.
Возвращает
строкаОтформатированный текст.
wrap()source public static
wrap( string $text , array|integer $options array() )
Обрезает текст до указанной ширины, необязательно по границам слов.
Параметры
-
widthШирина обрезки. По умолчанию 72. -
wordWrapОбрезка только по границам слов (пробелы). По умолчанию true. -
indentТекст для отступа. По умолчанию null. -
indentAtИндекс отступа, начиная с 0. По умолчанию 0.
Параметры
- строка
$text - Текст для форматирования.
- массив|целое число
$optionsнеобязательно массив() - Массив опций или целое число для обрезки текста.
Возвращает
строкаОтформатированный текст.
© 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/2.10/class-CakeText.html