Spec-Zone.ru › CakePHP 3.8

Класс Text

Методы обработки текста.

Пространство имён: Cake\Utility
Расположение: Utility/Text.php

Краткое описание свойств

  • $_defaultHtmlNoCount protected static
    array
    По умолчанию теги HTML, которые не должны учитываться при усечении текста.
  • $_defaultTransliterator protected static
    Transliterator
    По умолчанию транслитератор.
  • $_defaultTransliteratorId protected static
    string
    Строка идентификатора по умолчанию для транслитератора.

Краткое описание методов

  • _removeLastWord() protected static
    Удаляет последнее слово из входного текста.
  • _strlen() protected static
    Получение длины строки.
  • _substr() protected static
    Возвращает часть строки.
  • _wordWrap() protected static
    Unicode-сознательная версия wordwrap как вспомогательный метод.
  • ascii() public static

    Преобразует десятичное значение строки многобайтового символа в строку

  • cleanInsert() public static

    Очищает строку, отформатированную Text::insert(), с заданными $options, в зависимости от ключа 'clean' в $options. По умолчанию используется метод text, но также доступен метод html. Цель этой функции — заменить все пробелы и ненужные теги вокруг заготовок, которые не были заменены Text::insert().

  • excerpt() public static

    Извлекает выдержку из текста, окружающего фразу с заданным количеством символов с каждой стороны, определяемым радиусом.

  • getTransliterator() public static
    Получить транслитератор по умолчанию.
  • getTransliteratorId() public static
    Получить строку идентификатора транслитератора по умолчанию.
  • highlight() public static

    Выделяет заданную фразу в тексте. Вы можете указать любое выражение в выделении, которое может включать выражение \1 для включения найденной фразы $phrase.

  • insert() public static

    Заменяет переменные заготовки внутри $str любыми заданными $data. Каждый ключ в массиве $data соответствует имени переменной заготовки в $str. Пример:

    Text::insert(':name is :age years old.', ['name' => 'Bob', 'age' => '65']);

    Возвращает: Боб 65 лет.

  • isMultibyte() public static
    Проверка, содержит ли строка многобайтовые символы
  • parseFileSize() public static
    Преобразует размер файла из удобочитаемой строки в байты
  • setTransliterator() public static
    Установить транслитератор по умолчанию.
  • setTransliteratorId() public static
    Установить строку идентификатора транслитератора по умолчанию.
  • slug() public static

    Возвращает строку, в которой все пробелы заменены дефисами (по умолчанию), символы транслитерированы в ASCII-символы, а небуквенные символы удалены.

  • stripLinks() public static deprecated
    Удаляет из заданного текста все ссылки (<a href=....).
  • tail() public static
    Усекает текст, начиная с конца.
  • toList() public static
    Создаёт список, разделённый запятыми, где последние два элемента объединены со словом 'и', образуя естественный язык.
  • tokenize() public static

    Токенизирует строку с использованием $separator, игнорируя любые вхождения $separator, которые появляются между $leftBound и $rightBound.

  • transliterate() public static
    Транслитерация строки.
  • truncate() public static
    Усечение текста.
  • truncateByWidth() public static
    Усечение текста с заданной шириной.
  • utf8() public static

    Преобразует строку многобайтового символа в десятичное значение символа

  • uuid() public static
    Генерирует случайный UUID версии 4
  • wordWrap() public static
    Unicode- и знаково-сознательная версия wordwrap.
  • wrap() public static
    Обёртывание текста до определённой ширины, необязательно с обёртыванием на границах слов.
  • wrapBlock() public static

    Обёртывание целого блока текста до определённой ширины, необязательно с обёртыванием на границах слов.

Подробное описание методов

_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, строка всегда обёртывается на указанную ширину.

Возвращает

строка
Отформатированный текст.
END_OF_DOCUMENT_MARKER

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-excerpt

getTransliterator()source public static

getTransliterator( )

Получить транслитератор по умолчанию.

Возвращает

Transliterator|null

Либо экземпляр Transliterator, либо null в случае, если транслитератор еще не установлен.


С тех пор как

3.7.0

getTransliteratorId()source public static

getTransliteratorId( )

Получить строку идентификатора транслитератора по умолчанию.

Возвращает

строка
Идентификатор транслитератора.

highlight()source public static

highlight( string $text , string|array $phrase , array $options = [] )

Выделяет заданную фразу в тексте. Вы можете указать любой выражение в инструменте выделения, который может включать выражение \1 для включения найденной $phrase.

Параметры:

  • format Часть HTML, с которой фраза будет выделена
  • html Если true, игнорирует теги HTML, гарантируя, что выделяется только правильный текст
  • regex Пользовательское правило regex, используемое для сопоставления слов, по умолчанию — '|$tag|iu'
  • limit Ограничение, необязательно, по умолчанию — -1 (нет)

Параметры

строка $text
Текст для поиска фразы.
строка|массив $phrase
Фраза или фразы, которые будут искаться.
массив $options необязательно []
Массив HTML атрибутов и параметров.

Возвращает

строка
Выделенный текст

Ссылка

https://book.cakephp.org/3.0/ru/core-libraries/text.html#highlighting-substrings

insert()source public static

insert( string $str , array $data , array $options = [] )

Заменяет переменные placeholders внутри $str на любые заданные $data. Каждый ключ в массиве $data соответствует имени переменной placeholder в $str. Пример:

Text::insert(':name is :age years old.', ['name' => 'Bob', 'age' => '65']);

Возвращает: Боб 65 лет.

Доступные $options:

  • before: Символ или строка перед именем переменной placeholder (По умолчанию :)
  • after: Символ или строка после имени переменной placeholder (По умолчанию null)
  • escape: Символ или строка, используемая для экранирования символа/строки before (По умолчанию \)
  • format: Regex для поиска переменных placeholders. По умолчанию: /(?<!\\)\:%s/ (Перезаписывает before, after, ломает escape/clean)
  • clean: Булево значение или массив с инструкциями для Text::cleanInsert

Параметры

строка $str
Строка, содержащая переменные placeholders
массив $data

Массив ключ => значение, где каждый ключ представляет имя переменной placeholder, которое будет заменено на значение

массив $options необязательно []
Массив параметров, см. описание выше

Возвращает

строка

isMultibyte()source public static

isMultibyte( string $string )

Проверить, содержит ли строка многобайтовые символы

Параметры

строка $string
Значение для проверки

Возвращает

boolean

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::parseFileSize

setTransliterator()source public static

setTransliterator( Transliterator $transliterator )

Установить транслитератор по умолчанию.

Параметры

Transliterator $transliterator
Экземпляр Transliterator.

С тех пор как

3.7.0

setTransliteratorId()source public static

setTransliteratorId( string $transliteratorId )

Установить строку идентификатора транслитератора по умолчанию.

Параметры

строка $transliteratorId
Идентификатор транслитератора.

slug()source public static

slug( string $string , array $options = [] )

Возвращает строку, в которой все пробелы заменены дефисами (по умолчанию), символы транслитерированы в символы ASCII, а небуквенные символы удалены.

Параметры:

  • replacement: Строка замены. По умолчанию '-'.
  • transliteratorId: Действительный идентификатор транслитератора. Если null (по умолчанию) будет использован транслитератор (идентификатор), установленный с помощью setTransliteratorId() или setTransliterator(). Если false транслитерация не будет выполнена, будут удалены только небуквенные символы.
  • preserve: Конкретный небуквенный символ для сохранения. По умолчанию null. Например, этот параметр можно установить на '.' для создания чистых имён файлов.

Параметры

строка $string
строка, которую нужно преобразовать в slug
массив $options необязательно []

Если строка, она будет использоваться как символ замены, или массив параметров.

Возвращает

строка

См. также

Cake\Utility\Text::setTransliterator()
Cake\Utility\Text::setTransliteratorId()

stripLinks()source public static deprecated

stripLinks( string $text )

Удаляет из заданного текста все ссылки (<a href=....).

Предупреждение Этот метод не является надёжным решением для предотвращения XSS или вредоносного HTML.

Устарело

3.2.12 Этот метод будет удалён в версии 4.0.0

Параметры

строка $text
Текст

Возвращает

строка
Текст без ссылок
END_OF_DOCUMENT_MARKER

tail()source public static

tail( string $text , integer $length = 100 , array $options = [] )

Обрезает текст, начиная с конца.

Урезает строку до длины $length и заменяет первые символы многоточием, если текст длиннее длины.

Параметры:

  • ellipsis Будет использоваться в качестве начала и будет добавлено к обрезанной строке
  • exact Если ложь, $text не будет обрезаться посреди слова

Параметры

строка $text
Строка для обрезки.
целое число $length optional 100
Длина возвращаемой строки, включая многоточие.
массив $options optional []
Массив параметров.

Возвращает

строка
Обрезанная строка.

toList()source public static

toList( array $list , string|null $and = null , string $separator = ', ' )

Создаёт список, разделённый запятыми, где последние два элемента объединяются через «и», образуя естественный язык.

Параметры

массив $list
Список для объединения.
строка|null $and optional null
Слово, используемое для соединения последних двух элементов. По умолчанию равно «и».
строка $separator optional ', '
Разделитель, используемый для соединения остальных элементов. По умолчанию равен ', '.

Возвращает

строка
Объединённая строка.

Ссылка

https://book.cakephp.org/3.0/ru/core-libraries/text.html#converting-an-array-to-sentence-form

tokenize()source public static

tokenize( string $data , string $separator = ',' , string $leftBound = '(' , string $rightBound = ')' )

Разделяет строку на токены с помощью разделителя $separator, игнорируя любой разделитель, который появляется между $leftBound и $rightBound.

Параметры

строка $data
Данные для разбиения на токены.
строка $separator optional ','
Токен для разбиения данных.
строка $leftBound optional '('
Левая граница для игнорирования разделителей.
строка $rightBound optional ')'
Правая граница для игнорирования разделителей.

Возвращает

массив|строка
Массив токенов в $data или исходный входной параметр, если он пустой.

transliterate()source public static

transliterate( string $string , Transliterator|string|null $transliterator = null )

Транслитерировать строку.

Параметры

строка $string
Строка для транслитерации.
Транслитератор|строка|null $transliterator optional null

Либо экземпляр транслитератора, либо строка идентификатора транслитератора. Если null, будет использоваться стандартный транслитератор (идентификатор), установленный через setTransliteratorId() или %%%CODE_BLOCK_101%%.

Возвращает

строка

См.

https://secure.php.net/manual/ru/transliterator.transliterate.php

truncate()source public static

truncate( string $text , integer $length = 100 , array $options = [] )

Урезает текст.

Обрезает строку до длины $length и заменяет последние символы многоточием, если текст длиннее длины.

Параметры:

  • ellipsis Будет использоваться в качестве окончания и будет добавленно к обрезанной строке
  • exact Если ложь, $text не будет обрезаться посреди слова
  • html Если истина, теги HTML будут обработаны корректно
  • trimWidth Если истина, $text будет обрезан по ширине

Параметры

строка $text
Строка для обрезки.
целое число $length optional 100
Длина возвращаемой строки, включая многоточие.
массив $options optional []
Массив атрибутов и параметров HTML.

Возвращает

строка
Обрезанная строка.

Ссылка

https://book.cakephp.org/3.0/ru/core-libraries/text.html#truncating-text

truncateByWidth()source public static

truncateByWidth( string $text , integer $length = 100 , array $options = [] )

Урезать текст с указанной шириной.

Параметры

строка $text
Строка для обрезки.
целое число $length optional 100
Длина возвращаемой строки, включая многоточие.
массив $options optional []
Массив атрибутов и параметров 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/LICENSE

wordWrap()source public static

wordWrap( string $text , integer $width = 72 , string $break = "\n" , boolean $cut = false )

Unicode и newline-ориентированная версия wordwrap.

Параметры

строка $text
Текст для форматирования.
целое число $width optional 72
Ширина для обрезки. По умолчанию 72.
строка $break optional "\n"
Строка, используемая для разрыва строки. По умолчанию равно '\n'.
логическое $cut optional false
Если обрезка установлена в true, строка всегда обрезается по заданной ширине.

Возвращает

строка
Отформатированный текст.

wrap()source public static

wrap( string $text , array|integer $options = [] )

Обрезает текст до определённой ширины, необязательно обрезает по словам.

Параметры

  • width Ширина для обрезки. По умолчанию 72.
  • wordWrap Обрезать только по словам (пробелам). По умолчанию true.
  • indent Строка для отступа. По умолчанию null.
  • indentAt Индекс отступа, начиная с 0. По умолчанию 0.

Параметры

строка $text
Текст для форматирования.
массив|целое число $options optional []
Массив параметров или целое число для обрезки текста.

Возвращает

строка
Отформатированный текст.

wrapBlock()source public static

wrapBlock( string $text , array|integer $options = [] )

Обрезает весь блок текста до заданной ширины, необязательно обрезает по словам.

Параметры

  • width Ширина для обрезки. По умолчанию 72.
  • wordWrap Обрезать только по словам (пробелам). По умолчанию true.
  • indent Строка для отступа. По умолчанию null.
  • indentAt Индекс отступа, начиная с 0. По умолчанию 0.

Параметры

строка $text
Текст для форматирования.
массив|целое число $options optional []
Массив параметров или целое число для обрезки текста.

Возвращает

строка
Отформатированный текст.

Подробное описание свойств

$_defaultHtmlNoCountsource

protected static массив

По умолчанию теги HTML, которые не должны учитываться при обрезке текста.

[
    'style',
    'script'
]
END_OF_DOCUMENT_MARKER

$_defaultTransliteratorsource

protected static Transliterator

По умолчанию транслитератор.

$_defaultTransliteratorIdsource

protected static string

Строка идентификатора транслитератора по умолчанию.

'Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove'

© 2005–present 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.8/class-Cake.Utility.Text.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API