CloudCastle Support API

Str
in package

FinalYes

Статические утилиты для работы со строками (UTF-8).

Суперсет строковых помощников illuminate/support, symfony/string, nette/utils, voku/stringy и doctrine/inflector/cloudcastle/inflector: преобразование регистра и форматов имён, поиск и срезы, дополнение, замена, маскирование, инфлексия (множественное/единственное число), транслитерация и слаги, генерация (случайные строки, пароли, UUID) и предикаты. Все операции корректны для многобайтовых строк.

Table of Contents

Methods

after()  : string
Часть строки после первого вхождения подстроки.
afterLast()  : string
Часть строки после последнего вхождения подстроки.
ascii()  : string
Транслитерация строки в ASCII.
before()  : string
Часть строки до первого вхождения подстроки.
beforeLast()  : string
Часть строки до последнего вхождения подстроки.
between()  : string
Часть строки между первым `$from` и последним `$to`.
betweenFirst()  : string
Часть строки между первым `$from` и первым последующим `$to`.
camel()  : string
Преобразовать в camelCase.
charAt()  : string|null
Символ по индексу (UTF-8); отрицательный индекс — с конца.
contains()  : bool
Содержит ли строка хотя бы одну из подстрок.
containsAll()  : bool
Содержит ли строка все перечисленные подстроки.
endsWith()  : bool
Заканчивается ли строка одной из подстрок.
finish()  : string
Гарантировать завершение строки подстрокой (без дублирования).
headline()  : string
Заголовок из camel/snake/kebab: слова через пробел с заглавных.
isAscii()  : bool
Состоит ли строка только из ASCII-символов.
isJson()  : bool
Является ли строка корректным JSON.
isUrl()  : bool
Похожа ли строка на корректный URL.
isUuid()  : bool
Похожа ли строка на UUID (канонический формат).
kebab()  : string
Преобразовать в kebab-case.
lcfirst()  : string
Сделать первый символ строчным (UTF-8).
length()  : int
Длина строки в символах (UTF-8).
limit()  : string
Обрезать строку до длины, добавив окончание при усечении.
lower()  : string
Привести к нижнему регистру (UTF-8).
mask()  : string
Маскировать часть строки символом.
padBoth()  : string
Дополнить строку с обеих сторон до заданной длины.
padLeft()  : string
Дополнить строку слева до заданной длины.
padRight()  : string
Дополнить строку справа до заданной длины.
password()  : string
Сгенерировать криптостойкий пароль из выбранных наборов символов.
plural()  : string
Множественное число слова.
position()  : int|false
Позиция первого вхождения подстроки (UTF-8).
random()  : string
Сгенерировать случайную алфавитно-цифровую строку.
remove()  : string
Удалить все вхождения подстроки(строк).
repeat()  : string
Повторить строку заданное число раз.
replace()  : string
Заменить все вхождения подстроки или набора подстрок.
replaceEnd()  : string
Заменить суффикс строки, если она им заканчивается.
replaceFirst()  : string
Заменить первое вхождение подстроки.
replaceLast()  : string
Заменить последнее вхождение подстроки.
replaceStart()  : string
Заменить префикс строки, если она с него начинается.
reverse()  : string
Развернуть строку задом наперёд (UTF-8).
singular()  : string
Единственное число слова.
slug()  : string
Преобразовать строку в URL-совместимый «слаг».
snake()  : string
Преобразовать в snake_case.
squish()  : string
Схлопнуть повторяющиеся пробелы и обрезать края.
start()  : string
Гарантировать начало строки подстрокой (без дублирования).
startsWith()  : bool
Начинается ли строка с одной из подстрок.
studly()  : string
Преобразовать в StudlyCase (PascalCase).
substr()  : string
Подстрока по позиции и длине (UTF-8).
substrCount()  : int
Число непересекающихся вхождений подстроки.
swap()  : string
Заменить подстроки по словарю замен.
take()  : string
Первые (или, при отрицательном пределе, последние) символы строки (UTF-8).
title()  : string
Преобразовать в Title Case (каждое слово с заглавной).
transliterate()  : string
Транслитерация кириллицы в латиницу правилами инфлектора cloud-castle.
ucfirst()  : string
Сделать первый символ заглавным (UTF-8).
ucsplit()  : array<int, string>
Разбить «верблюжью» строку на части по заглавным буквам.
upper()  : string
Привести к верхнему регистру (UTF-8).
uuid()  : string
Сгенерировать UUID версии 4 (случайный).
wordCount()  : int
Число слов в строке.
words()  : string
Ограничить строку заданным числом слов.
wordWrap()  : string
Перенести строку по словам до заданной ширины (ASCII-ориентировано).
wrap()  : string
Обернуть строку в подстроки-обёртки.

Methods

after()

Часть строки после первого вхождения подстроки.

public static after(string $subject, string $search) : string
Parameters
$subject : string

строка-источник

$search : string

искомая подстрока (пустая — вернуть исходную строку)

Return values
string

остаток после первого $search, либо вся строка, если не найдено

afterLast()

Часть строки после последнего вхождения подстроки.

public static afterLast(string $subject, string $search) : string
Parameters
$subject : string

строка-источник

$search : string

искомая подстрока (пустая — вернуть исходную строку)

Return values
string

остаток после последнего $search, либо вся строка, если не найдено

ascii()

Транслитерация строки в ASCII.

public static ascii(string $value) : string

Кириллица латинизируется правилами инфлектора cloud-castle (с автоопределением языка), латинские диакритические знаки заменяются базовыми буквами по DIACRITICS, оставшиеся не-ASCII символы отбрасываются. Детерминированно, без внешних расширений ext-iconv/intl.

Parameters
$value : string

исходная строка (любой UTF-8)

Return values
string

строка только из ASCII-символов

before()

Часть строки до первого вхождения подстроки.

public static before(string $subject, string $search) : string
Parameters
$subject : string

строка-источник

$search : string

искомая подстрока (пустая — вернуть исходную строку)

Return values
string

часть до первого $search, либо вся строка, если не найдено

beforeLast()

Часть строки до последнего вхождения подстроки.

public static beforeLast(string $subject, string $search) : string
Parameters
$subject : string

строка-источник

$search : string

искомая подстрока (пустая — вернуть исходную строку)

Return values
string

часть до последнего $search, либо вся строка, если не найдено

between()

Часть строки между первым `$from` и последним `$to`.

public static between(string $subject, string $from, string $to) : string
Parameters
$subject : string

строка-источник

$from : string

открывающая подстрока

$to : string

закрывающая подстрока

Return values
string

фрагмент между границами, либо вся строка, если границы пусты

betweenFirst()

Часть строки между первым `$from` и первым последующим `$to`.

public static betweenFirst(string $subject, string $from, string $to) : string
Parameters
$subject : string

строка-источник

$from : string

открывающая подстрока

$to : string

закрывающая подстрока

Return values
string

фрагмент между границами, либо вся строка, если границы пусты

camel()

Преобразовать в camelCase.

public static camel(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка в camelCase

charAt()

Символ по индексу (UTF-8); отрицательный индекс — с конца.

public static charAt(string $value, int $index) : string|null
Parameters
$value : string

исходная строка

$index : int

позиция символа (может быть отрицательной)

Return values
string|null

символ либо null, если индекс вне границ

contains()

Содержит ли строка хотя бы одну из подстрок.

public static contains(string $haystack, string|iterable<string|int, string> $needles) : bool
Parameters
$haystack : string

строка-источник

$needles : string|iterable<string|int, string>

искомая подстрока или их набор

Return values
bool

true, если найдена хотя бы одна непустая подстрока

containsAll()

Содержит ли строка все перечисленные подстроки.

public static containsAll(string $haystack, iterable<string|int, string> $needles) : bool
Parameters
$haystack : string

строка-источник

$needles : iterable<string|int, string>

набор искомых подстрок

Return values
bool

true, если найдены все подстроки

endsWith()

Заканчивается ли строка одной из подстрок.

public static endsWith(string $haystack, string|iterable<string|int, string> $needles) : bool
Parameters
$haystack : string

строка-источник

$needles : string|iterable<string|int, string>

подстрока или их набор

Return values
bool

true, если строка заканчивается одной из непустых подстрок

finish()

Гарантировать завершение строки подстрокой (без дублирования).

public static finish(string $value, string $cap) : string
Parameters
$value : string

исходная строка

$cap : string

завершающая подстрока

Return values
string

строка, гарантированно оканчивающаяся на $cap

headline()

Заголовок из camel/snake/kebab: слова через пробел с заглавных.

public static headline(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

человекочитаемый заголовок

isAscii()

Состоит ли строка только из ASCII-символов.

public static isAscii(string $value) : bool
Parameters
$value : string

проверяемая строка

Return values
bool

true, если строка содержит только ASCII

isJson()

Является ли строка корректным JSON.

public static isJson(string $value) : bool
Parameters
$value : string

проверяемая строка

Return values
bool

true, если строка — валидный JSON

isUrl()

Похожа ли строка на корректный URL.

public static isUrl(string $value) : bool
Parameters
$value : string

проверяемая строка

Return values
bool

true, если строка — синтаксически корректный URL

isUuid()

Похожа ли строка на UUID (канонический формат).

public static isUuid(string $value) : bool
Parameters
$value : string

проверяемая строка

Return values
bool

true, если строка соответствует формату UUID

kebab()

Преобразовать в kebab-case.

public static kebab(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка в kebab-case

lcfirst()

Сделать первый символ строчным (UTF-8).

public static lcfirst(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка со строчным первым символом

length()

Длина строки в символах (UTF-8).

public static length(string $value) : int
Parameters
$value : string

исходная строка

Return values
int

число символов

limit()

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

public static limit(string $value[, int $limit = 100 ][, string $end = '...' ]) : string
Parameters
$value : string

исходная строка

$limit : int = 100

максимальная длина в символах

$end : string = '...'

добавляемое окончание при усечении

Return values
string

исходная строка либо усечённая с $end

lower()

Привести к нижнему регистру (UTF-8).

public static lower(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка в нижнем регистре

mask()

Маскировать часть строки символом.

public static mask(string $value, string $character, int $index[, int|null $length = null ]) : string
Parameters
$value : string

исходная строка

$character : string

символ маски (первый символ используется)

$index : int

позиция начала маски (отрицательная — с конца)

$length : int|null = null

длина маскируемого участка (null — до конца)

Return values
string

строка с замаскированным участком

padBoth()

Дополнить строку с обеих сторон до заданной длины.

public static padBoth(string $value, int $length[, string $pad = ' ' ]) : string
Parameters
$value : string

исходная строка

$length : int

целевая длина в символах

$pad : string = ' '

символ(ы)-заполнитель

Return values
string

дополненная с двух сторон строка

padLeft()

Дополнить строку слева до заданной длины.

public static padLeft(string $value, int $length[, string $pad = ' ' ]) : string
Parameters
$value : string

исходная строка

$length : int

целевая длина в символах

$pad : string = ' '

символ(ы)-заполнитель

Return values
string

дополненная слева строка

padRight()

Дополнить строку справа до заданной длины.

public static padRight(string $value, int $length[, string $pad = ' ' ]) : string
Parameters
$value : string

исходная строка

$length : int

целевая длина в символах

$pad : string = ' '

символ(ы)-заполнитель

Return values
string

дополненная справа строка

password()

Сгенерировать криптостойкий пароль из выбранных наборов символов.

public static password([int $length = 32 ][, bool $letters = true ][, bool $numbers = true ][, bool $symbols = true ][, bool $spaces = false ]) : string

Каждый символ выбирается равномерно через random_int (без modulo-смещения).

Parameters
$length : int = 32

длина пароля

$letters : bool = true

включать латинские буквы обоих регистров

$numbers : bool = true

включать цифры

$symbols : bool = true

включать типографические символы

$spaces : bool = false

включать пробел

Return values
string

сгенерированный пароль (пустой, если наборы отключены)

plural()

Множественное число слова.

public static plural(string $value[, Language|null $language = null ]) : string

Язык определяется автоматически по самому слову (кириллица → русский, диакритика → немецкий/французский/испанский и т.д.); необязательным аргументом язык фиксируется явно.

Parameters
$value : string

слово в единственном числе

$language : Language|null = null

язык правил; null — автоопределение

Return values
string

слово во множественном числе

position()

Позиция первого вхождения подстроки (UTF-8).

public static position(string $haystack, string $needle[, int $offset = 0 ]) : int|false
Parameters
$haystack : string

строка-источник

$needle : string

искомая подстрока

$offset : int = 0

смещение начала поиска

Return values
int|false

индекс символа либо false, если не найдено

random()

Сгенерировать случайную алфавитно-цифровую строку.

public static random([int $length = 16 ]) : string
Parameters
$length : int = 16

длина результата (неотрицательная)

Return values
string

случайная строка длины $length

remove()

Удалить все вхождения подстроки(строк).

public static remove(string|iterable<string|int, string> $search, string $subject) : string
Parameters
$search : string|iterable<string|int, string>

удаляемая подстрока или их набор

$subject : string

строка-источник

Return values
string

строка без удалённых подстрок

repeat()

Повторить строку заданное число раз.

public static repeat(string $value, int $times) : string
Parameters
$value : string

исходная строка

$times : int

неотрицательное число повторов

Return values
string

повторённая строка

replace()

Заменить все вхождения подстроки или набора подстрок.

public static replace(string|array<string|int, string> $search, string|array<string|int, string> $replace, string $subject[, bool $caseSensitive = true ]) : string
Parameters
$search : string|array<string|int, string>

искомое значение или их набор

$replace : string|array<string|int, string>

замена или их набор (по позициям)

$subject : string

строка-источник

$caseSensitive : bool = true

учитывать ли регистр (по умолчанию да)

Return values
string

строка с выполненными заменами

replaceEnd()

Заменить суффикс строки, если она им заканчивается.

public static replaceEnd(string $search, string $replace, string $subject) : string
Parameters
$search : string

искомый суффикс (пустой — вернуть строку без изменений)

$replace : string

замена суффикса

$subject : string

строка-источник

Return values
string

строка с заменённым суффиксом либо исходная

replaceFirst()

Заменить первое вхождение подстроки.

public static replaceFirst(string $search, string $replace, string $subject) : string
Parameters
$search : string

искомая подстрока (пустая — без изменений)

$replace : string

замена

$subject : string

строка-источник

Return values
string

строка с заменённым первым вхождением

replaceLast()

Заменить последнее вхождение подстроки.

public static replaceLast(string $search, string $replace, string $subject) : string
Parameters
$search : string

искомая подстрока (пустая — без изменений)

$replace : string

замена

$subject : string

строка-источник

Return values
string

строка с заменённым последним вхождением

replaceStart()

Заменить префикс строки, если она с него начинается.

public static replaceStart(string $search, string $replace, string $subject) : string
Parameters
$search : string

искомый префикс (пустой — вернуть строку без изменений)

$replace : string

замена префикса

$subject : string

строка-источник

Return values
string

строка с заменённым префиксом либо исходная

reverse()

Развернуть строку задом наперёд (UTF-8).

public static reverse(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

перевёрнутая строка

singular()

Единственное число слова.

public static singular(string $value[, Language|null $language = null ]) : string

Язык определяется автоматически по самому слову; необязательным аргументом язык фиксируется явно.

Parameters
$value : string

слово во множественном числе

$language : Language|null = null

язык правил; null — автоопределение

Return values
string

слово в единственном числе

slug()

Преобразовать строку в URL-совместимый «слаг».

public static slug(string $title[, string $separator = '-' ][, Language|null $language = null ]) : string

Построено поверх инфлектора cloud-castle (транслитерация и нормализация) с предварительным сглаживанием диакритики через ascii(), поэтому результат гарантированно состоит только из ASCII-символов.

Parameters
$title : string

исходный заголовок

$separator : string = '-'

разделитель слов (по умолчанию «-»)

$language : Language|null = null

язык транслитерации; null — автоопределение

Return values
string

слаг из строчных ASCII-букв, цифр и разделителей

snake()

Преобразовать в snake_case.

public static snake(string $value[, string $delimiter = '_' ]) : string
Parameters
$value : string

исходная строка

$delimiter : string = '_'

разделитель между словами (по умолчанию _)

Return values
string

строка в snake_case с заданным разделителем

squish()

Схлопнуть повторяющиеся пробелы и обрезать края.

public static squish(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка без лишних пробелов

start()

Гарантировать начало строки подстрокой (без дублирования).

public static start(string $value, string $prefix) : string
Parameters
$value : string

исходная строка

$prefix : string

начальная подстрока

Return values
string

строка, гарантированно начинающаяся с $prefix

startsWith()

Начинается ли строка с одной из подстрок.

public static startsWith(string $haystack, string|iterable<string|int, string> $needles) : bool
Parameters
$haystack : string

строка-источник

$needles : string|iterable<string|int, string>

подстрока или их набор

Return values
bool

true, если строка начинается с одной из непустых подстрок

studly()

Преобразовать в StudlyCase (PascalCase).

public static studly(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка в StudlyCase

substr()

Подстрока по позиции и длине (UTF-8).

public static substr(string $value, int $start[, int|null $length = null ]) : string
Parameters
$value : string

исходная строка

$start : int

начальная позиция (может быть отрицательной)

$length : int|null = null

длина в символах (null — до конца)

Return values
string

извлечённая подстрока

substrCount()

Число непересекающихся вхождений подстроки.

public static substrCount(string $haystack, string $needle) : int
Parameters
$haystack : string

строка-источник

$needle : string

искомая подстрока (пустая — 0)

Return values
int

количество вхождений

swap()

Заменить подстроки по словарю замен.

public static swap(array<string, string> $map, string $subject) : string
Parameters
$map : array<string, string>

словарь «искомое → замена»

$subject : string

строка-источник

Return values
string

строка с применёнными заменами

take()

Первые (или, при отрицательном пределе, последние) символы строки (UTF-8).

public static take(string $value, int $limit) : string
Parameters
$value : string

исходная строка

$limit : int

число символов; отрицательное — с конца строки

Return values
string

срез строки

title()

Преобразовать в Title Case (каждое слово с заглавной).

public static title(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка в Title Case

transliterate()

Транслитерация кириллицы в латиницу правилами инфлектора cloud-castle.

public static transliterate(string $value[, Language|null $language = null ]) : string

В отличие от ascii(), сохраняет диакритику и не отбрасывает символы, заменяя лишь кириллицу латиницей.

Parameters
$value : string

исходная строка

$language : Language|null = null

язык правил; null — автоопределение

Return values
string

латинизированная строка

ucfirst()

Сделать первый символ заглавным (UTF-8).

public static ucfirst(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка с заглавным первым символом

ucsplit()

Разбить «верблюжью» строку на части по заглавным буквам.

public static ucsplit(string $value) : array<int, string>
Parameters
$value : string

исходная строка

Return values
array<int, string>

части строки

upper()

Привести к верхнему регистру (UTF-8).

public static upper(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка в верхнем регистре

uuid()

Сгенерировать UUID версии 4 (случайный).

public static uuid() : string
Return values
string

UUID в каноническом строчном формате

wordCount()

Число слов в строке.

public static wordCount(string $value) : int
Parameters
$value : string

исходная строка

Return values
int

количество слов

words()

Ограничить строку заданным числом слов.

public static words(string $value[, int $words = 100 ][, string $end = '...' ]) : string
Parameters
$value : string

исходная строка

$words : int = 100

максимальное число слов (меньше 1 — только окончание)

$end : string = '...'

добавляемое окончание при усечении

Return values
string

строка не более чем из $words слов

wordWrap()

Перенести строку по словам до заданной ширины (ASCII-ориентировано).

public static wordWrap(string $value[, int $characters = 75 ][, string $break = "\n" ][, bool $cutLongWords = false ]) : string
Parameters
$value : string

исходная строка

$characters : int = 75

ширина строки в символах

$break : string = "\n"

символ переноса

$cutLongWords : bool = false

разрывать ли слова длиннее ширины

Return values
string

строка с переносами

wrap()

Обернуть строку в подстроки-обёртки.

public static wrap(string $value, string $before[, string|null $after = null ]) : string
Parameters
$value : string

исходная строка

$before : string

открывающая обёртка

$after : string|null = null

закрывающая обёртка (по умолчанию равна $before)

Return values
string

обёрнутая строка

On this page

Search results