Документация Laravel 10.x
Здесь ты найдешь сниппеты по Laravel и полезные советы по веб-разработке.
Laravel включает в себя различные функции для манипуляции строковыми значениями. Многие из этих функций используются самим фреймворком; однако вы свободны использовать их в своих собственных приложениях, если они вам удобны.
__ class_basename e preg_replace_array Str::after Str::afterLast Str::ascii Str::before Str::beforeLast Str::between Str::betweenFirst Str::camel Str::contains Str::containsAll Str::endsWith Str::excerpt Str::finish Str::headline Str::inlineMarkdown Str::is Str::isAscii Str::isJson Str::isUlid Str::isUrl Str::isUuid Str::kebab Str::lcfirst Str::length Str::limit Str::lower Str::markdown Str::mask Str::orderedUuid Str::padBoth Str::padLeft Str::padRight Str::password Str::plural Str::pluralStudly Str::position Str::random Str::remove Str::repeat Str::replace Str::replaceArray Str::replaceFirst Str::replaceLast Str::replaceMatches Str::replaceStart Str::replaceEnd Str::reverse Str::singular Str::slug Str::snake Str::squish Str::start Str::startsWith Str::studly Str::substr Str::substrCount Str::substrReplace Str::swap Str::take Str::title Str::toHtmlString Str::ucfirst Str::ucsplit Str::upper Str::ulid Str::uuid Str::wordCount Str::wordWrap Str::words Str::wrap str trans trans_choice
after afterLast append ascii basename before beforeLast between betweenFirst camel classBasename contains containsAll dirname endsWith excerpt exactly explode finish headline inlineMarkdown is isAscii isEmpty isNotEmpty isJson isUlid isUrl isUuid kebab lcfirst length limit lower ltrim markdown mask match matchAll isMatch newLine padBoth padLeft padRight pipe plural position prepend remove repeat replace replaceArray replaceFirst replaceLast replaceMatches replaceStart replaceEnd rtrim scan singular slug snake split squish start startsWith studly substr substrReplace swap take tap test title trim ucfirst ucsplit upper when whenContains whenContainsAll whenEmpty whenNotEmpty whenStartsWith whenEndsWith whenExactly whenNotExactly whenIs whenIsAscii whenIsUlid whenIsUuid whenTest wordCount words
__()Функция __ переводит заданную строку перевода или ключ перевода с использованием ваших языковых файлов:
echo __('Welcome to our application');echo __('messages.welcome');
Если указанная строка перевода или ключ не существует, функция __ вернет заданное значение. Так, используя приведенный выше пример, функция __ вернет messages.welcome, если этот ключ перевода не существует.
class_basename()Функция class_basename возвращает имя класса заданного класса с удаленным пространством имен класса:
$class = class_basename('Foo\Bar\Baz');// Baz
e()Функция e выполняет функцию htmlspecialchars PHP с опцией double_encode, по умолчанию установленной в true:
echo e('<html>foo</html>');// <html>foo</html>
preg_replace_array()Функция preg_replace_array заменяет заданный шаблон в строке последовательно с использованием массива:
$string = 'The event will take place between :start and :end';$replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string);// The event will take place between 8:30 and 9:00
Str::after()Метод Str::after возвращает все после заданного значения в строке. Вся строка будет возвращена, если заданное значение не существует внутри строки:
use Illuminate\Support\Str;$slice = Str::after('This is my name', 'This is');// ' my name'
Str::afterLast()Метод Str::afterLast возвращает все после последнего вхождения заданного значения в строке. Вся строка будет возвращена, если заданное значение не существует внутри строки:
use Illuminate\Support\Str;$slice = Str::afterLast('App\Http\Controllers\Controller', '\\');// 'Controller'
Str::ascii()Метод Str::ascii попытается транслитерировать строку в значение ASCII:
use Illuminate\Support\Str;$slice = Str::ascii('û');// 'u'
Str::before()Метод Str::before возвращает все перед заданным значением в строке:
use Illuminate\Support\Str;$slice = Str::before('This is my name', 'my name');// 'This is '
Str::beforeLast()Метод Str::beforeLast возвращает все перед последним вхождением заданного значения в строке:
use Illuminate\Support\Str;$slice = Str::beforeLast('This is my name', 'is');// 'This '
Str::between()Метод Str::between возвращает часть строки между двумя значениями:
use Illuminate\Support\Str;$slice = Str::between('This is my name', 'This', 'name');// ' is my '
Str::betweenFirst()Метод Str::betweenFirst возвращает наименьшую возможную часть строки между двумя значениями:
use Illuminate\Support\Str;$slice = Str::betweenFirst('[a] bc [d]', '[', ']');// 'a'
Str::camel()Метод Str::camel преобразует заданную строку в camelCase:
use Illuminate\Support\Str;$converted = Str::camel('foo_bar');// fooBar
Str::contains()Метод Str::contains определяет, содержит ли заданная строка заданное значение. Этот метод учитывает регистр:
use Illuminate\Support\Str;$contains = Str::contains('This is my name', 'my');// true
Вы также можете передать массив значений, чтобы определить, содержит ли данная строка хотя бы одно из значений в массиве:
use Illuminate\Support\Str;$contains = Str::contains('This is my name', ['my', 'foo']);// true
Str::containsAll()Метод Str::containsAll определяет, содержит ли заданная строка все значения в заданном массиве:
use Illuminate\Support\Str;$containsAll = Str::containsAll('This is my name', ['my', 'name']);// true
Str::endsWith()Метод Str::endsWith определяет, заканчивается ли заданная строка заданным значением:
use Illuminate\Support\Str;$result = Str::endsWith('This is my name', 'name');// true
Вы также можете передать массив значений, чтобы определить, заканчивается ли данная строка хотя бы одним из значений в массиве:
use Illuminate\Support\Str;$result = Str::endsWith('This is my name', ['name', 'foo']);// true$result = Str::endsWith('This is my name', ['this', 'foo']);// false
Str::excerpt()Метод Str::excerpt извлекает отрывок из заданной строки, соответствующий первому вхождению фразы в этой строке:
use Illuminate\Support\Str;$excerpt = Str::excerpt('This is my name', 'my', [ 'radius' => 3]);// '...is my na...'
Параметр radius, по умолчанию установленный на 100, позволяет задать количество символов, которые должны появиться с каждой стороны усеченной строки.
Кроме того, вы можете использовать параметр omission, чтобы определить строку, которая будет предварять и следовать за усеченной строкой:
use Illuminate\Support\Str;$excerpt = Str::excerpt('This is my name', 'name', [ 'radius' => 3, 'omission' => '(...) ']);// '(...) my name'
Str::finish()Метод Str::finish добавляет один экземпляр заданного значения к строке, если она еще не заканчивается этим значением:
use Illuminate\Support\Str;$adjusted = Str::finish('this/string', '/');// this/string/$adjusted = Str::finish('this/string/', '/');// this/string/
Str::headline()Метод Str::headline преобразует строки, разделенные регистром, дефисами или подчеркиваниями, в строку с пробелами, где первая буква каждого слова заглавная:
use Illuminate\Support\Str;$headline = Str::headline('steve_jobs');// Steve Jobs$headline = Str::headline('EmailNotificationSent');// Email Notification Sent
Str::inlineMarkdown()Метод Str::inlineMarkdown преобразует синтаксис GitHub flavored Markdown в инлайновый HTML с использованием CommonMark. Однако, в отличие от метода markdown, он не оборачивает весь сгенерированный HTML в блочный элемент:
use Illuminate\Support\Str;$html = Str::inlineMarkdown('**Laravel**');// <strong>Laravel</strong>
Str::is()Метод Str::is определяет, соответствует ли заданная строка заданному шаблону. Звездочки могут использоваться в качестве подстановочных значений:
use Illuminate\Support\Str;$matches = Str::is('foo*', 'foobar');// true$matches = Str::is('baz*', 'foobar');// false
Str::isAscii()Метод Str::isAscii определяет, является ли заданная строка 7-битным ASCII:
use Illuminate\Support\Str;$isAscii = Str::isAscii('Taylor');// true$isAscii = Str::isAscii('ü');// false
Str::isJson()Метод Str::isJson определяет, является ли заданная строка допустимым JSON:
use Illuminate\Support\Str;$result = Str::isJson('[1,2,3]');// true$result = Str::isJson('{"first": "John", "last": "Doe"}');// true$result = Str::isJson('{first: "John", last: "Doe"}');// false
Str::isUrl()Метод Str::isUrl определяет, является ли заданная строка допустимым URL:
use Illuminate\Support\Str;$isUrl = Str::isUrl('http://example.com');// true$isUrl = Str::isUrl('laravel');// false
Str::isUlid()Метод Str::isUlid определяет, является ли заданная строка допустимым ULID:
use Illuminate\Support\Str;$isUlid = Str::isUlid('01gd6r360bp37zj17nxb55yv40');// true$isUlid = Str::isUlid('laravel');// false
Str::isUuid()Метод Str::isUuid определяет, является ли заданная строка допустимым UUID:
use Illuminate\Support\Str;$isUuid = Str::isUuid('a0a2a2d2-0b87-4a18-83f2-2529882be2de');// true$isUuid = Str::isUuid('laravel');// false
Str::kebab()Метод Str::kebab преобразует заданную строку в kebab-case:
use Illuminate\Support\Str;$converted = Str::kebab('fooBar');// foo-bar
Str::lcfirst()Метод Str::lcfirst возвращает заданную строку с первым символом в нижнем регистре:
use Illuminate\Support\Str;$string = Str::lcfirst('Foo Bar');// foo Bar
Str::length()Метод Str::length возвращает длину заданной строки:
use Illuminate\Support\Str;$length = Str::length('Laravel');// 7
Str::limit()Метод Str::limit усекает заданную строку до указанной длины:
use Illuminate\Support\Str;$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20);// The quick brown fox...
Вы можете передать третий аргумент методу, чтобы изменить строку, которая будет добавлена в конец усеченной строки:
use Illuminate\Support\Str;$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, ' (...)');// The quick brown fox (...)
Str::lower()Метод Str::lower преобразует заданную строку в нижний регистр:
use Illuminate\Support\Str;$converted = Str::lower('LARAVEL');// laravel
Str::markdown()Метод Str::markdown преобразует синтаксис GitHub flavored Markdown в HTML с использованием CommonMark:
use Illuminate\Support\Str;$html = Str::markdown('# Laravel');// <h1>Laravel</h1>$html = Str::markdown('# Taylor <b>Otwell</b>', [ 'html_input' => 'strip',]);// <h1>Taylor Otwell</h1>
Str::mask()Метод Str::mask маскирует часть строки повторяющимся символом и может использоваться для замещения сегментов строк, таких как адреса электронной почты и номера телефонов:
use Illuminate\Support\Str;$string = Str::mask('[email protected]', '*', 3);// tay***************
При необходимости вы можете указать отрицательное число в качестве третьего аргумента метода mask, что указывает методу начать маскировку на заданном расстоянии от конца строки:
$string = Str::mask('[email protected]', '*', -15, 3);// tay***@example.com
Str::orderedUuid()Метод Str::orderedUuid генерирует UUID "сначала метка времени", который можно эффективно хранить в индексированном столбце базы данных. Каждый UUID, сгенерированный с использованием этого метода, будет отсортирован после UUID, ранее сгенерированных с использованием метода:
use Illuminate\Support\Str;return (string) Str::orderedUuid();
Str::padBoth()Метод Str::padBoth оборачивает функцию str_pad PHP, добавляя с обеих сторон строки другую строку, пока конечная строка не достигнет желаемой длины:
use Illuminate\Support\Str;$padded = Str::padBoth('James', 10, '_');// '__James___'$padded = Str::padBoth('James', 10);// ' James '
Str::padLeft()Метод Str::padLeft оборачивает функцию str_pad PHP, добавляя слева от строки другую строку, пока конечная строка не достигнет желаемой длины:
use Illuminate\Support\Str;$padded = Str::padLeft('James', 10, '-=');// '-=-=-James'$padded = Str::padLeft('James', 10);// ' James'
Str::padRight()Метод Str::padRight оборачивает функцию str_pad PHP, добавляя справа от строки другую строку, пока конечная строка не достигнет желаемой длины:
use Illuminate\Support\Str;$padded = Str::padRight('James', 10, '-');// 'James-----'$padded = Str::padRight('James', 10);// 'James '
Str::password()Метод Str::password может использоваться для генерации безопасного, случайного пароля заданной длины. Пароль будет состоять из комбинации букв, цифр, символов и пробелов. По умолчанию пароли имеют длину 32 символа:
use Illuminate\Support\Str;$password = Str::password();// 'EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4'$password = Str::password(12);// 'qwuar>#V|i]N'
Str::plural()Метод Str::plural преобразует строку с существительным во множественную форму. Эта функция поддерживает любые языки, поддерживаемые плурализатором Laravel:
use Illuminate\Support\Str;$plural = Str::plural('car');// cars$plural = Str::plural('child');// children
Вы можете указать целое число в качестве второго аргумента функции, чтобы получить форму единственного или множественного числа строки:
use Illuminate\Support\Str;$plural = Str::plural('child', 2);// children$singular = Str::plural('child', 1);// child
Str::pluralStudly()Метод Str::pluralStudly преобразует строку существительного, оформленную в стиль стадли-капс, во множественную форму. Эта функция поддерживает любые языки, поддерживаемые плурализатором Laravel:
use Illuminate\Support\Str;$plural = Str::pluralStudly('VerifiedHuman');// VerifiedHumans$plural = Str::pluralStudly('UserFeedback');// UserFeedback
Вы можете указать целое число в качестве второго аргумента функции, чтобы получить форму единственного или множественного числа строки:
use Illuminate\Support\Str;$plural = Str::pluralStudly('VerifiedHuman', 2);// VerifiedHumans$singular = Str::pluralStudly('VerifiedHuman', 1);// VerifiedHuman
Str::position()Метод Str::position возвращает позицию первого вхождения подстроки в строку. Если подстрока не существует в данной строке, возвращается false:
use Illuminate\Support\Str;$position = Str::position('Hello, World!', 'Hello');// 0$position = Str::position('Hello, World!', 'W');// 7
Str::random()Метод Str::random генерирует случайную строку указанной длины. Для этой функции используется функция random_bytes PHP:
use Illuminate\Support\Str;$random = Str::random(40);
Str::remove()Метод Str::remove удаляет заданное значение или массив значений из строки:
use Illuminate\Support\Str;$string = 'Peter Piper picked a peck of pickled peppers.';$removed = Str::remove('e', $string);// Ptr Pipr pickd a pck of pickld ppprs.
Вы также можете передать false в качестве третьего аргумента метода remove, чтобы игнорировать регистр при удалении строк.
Str::repeat()Метод Str::repeat повторяет заданную строку:
use Illuminate\Support\Str;$string = 'a';$repeat = Str::repeat($string, 5);// aaaaa
Str::replace()Метод Str::replace заменяет заданную строку внутри строки:
use Illuminate\Support\Str;$string = 'Laravel 8.x';$replaced = Str::replace('8.x', '9.x', $string);// Laravel 9.x
Метод replace также принимает аргумент caseSensitive. По умолчанию метод replace учитывает регистр:
Str::replace('Framework', 'Laravel', caseSensitive: false);
Str::replaceArray()Метод Str::replaceArray заменяет заданное значение в строке последовательно с использованием массива:
use Illuminate\Support\Str;$string = 'The event will take place between ? and ?';$replaced = Str::replaceArray('?', ['8:30', '9:00'], $string);// Событие состоится с 8:30 до 9:00
Str::replaceFirst()Метод Str::replaceFirst заменяет первое вхождение заданного значения в строке:
use Illuminate\Support\Str;$replaced = Str::replaceFirst('the', 'a', 'the quick brown fox jumps over the lazy dog');// быстрая коричневая лиса перепрыгивает через ленивую собаку
Str::replaceLast()Метод Str::replaceLast заменяет последнее вхождение заданного значения в строке:
use Illuminate\Support\Str;$replaced = Str::replaceLast('the', 'a', 'the quick brown fox jumps over the lazy dog');// быстрая коричневая лиса перепрыгивает через ленивую собаку
Str::replaceMatches()Метод Str::replaceMatches заменяет все части строки, соответствующие шаблону, заданным заменяющим значением:
use Illuminate\Support\Str;$replaced = Str::replaceMatches( pattern: '/[^A-Za-z0-9]++/', replace: '', subject: '(+1) 501-555-1000')// '15015551000'
Метод replaceMatches также принимает замыкание, которое будет вызвано с каждой частью строки, соответствующей заданному шаблону, позволяя выполнять логику замены внутри замыкания и возвращать замененное значение:
use Illuminate\Support\Str;$replaced = Str::replaceMatches('/\d/', function (array $matches) { return '['.$matches[0].']';}, '123');// '[1][2][3]'
Str::replaceStart()Метод Str::replaceStart заменяет первое вхождение заданного значения только в том случае, если значение находится в начале строки:
use Illuminate\Support\Str;$replaced = Str::replaceStart('Hello', 'Laravel', 'Hello World');// Laravel World$replaced = Str::replaceStart('World', 'Laravel', 'Hello World');// Hello World
Str::replaceEnd()Метод Str::replaceEnd заменяет последнее вхождение заданного значения только в том случае, если значение находится в конце строки:
use Illuminate\Support\Str;$replaced = Str::replaceEnd('World', 'Laravel', 'Hello World');// Hello Laravel$replaced = Str::replaceEnd('Hello', 'Laravel', 'Hello World');// Hello World
Str::reverse()Метод Str::reverse переворачивает заданную строку:
use Illuminate\Support\Str;$reversed = Str::reverse('Hello World');// dlroW olleH
Str::singular()Метод Str::singular преобразует строку в ее единственную форму. Эта функция поддерживает любые языки, поддерживаемые плурализатором Laravel:
use Illuminate\Support\Str;$singular = Str::singular('cars');// car$singular = Str::singular('children');// child
Str::slug()Метод Str::slug генерирует URL-дружественный "слаг" из заданной строки:
use Illuminate\Support\Str;$slug = Str::slug('Laravel 5 Framework', '-');// laravel-5-framework
Str::snake()Метод Str::snake преобразует заданную строку в snake_case:
use Illuminate\Support\Str;$converted = Str::snake('fooBar');// foo_bar$converted = Str::snake('fooBar', '-');// foo-bar
Str::squish()Метод Str::squish удаляет все лишние пробелы из строки, включая лишние пробелы между словами:
use Illuminate\Support\Str;$string = Str::squish(' laravel framework ');// laravel framework
Str::start()Метод Str::start добавляет один экземпляр заданного значения к строке, если она еще не начинается с этого значения:
use Illuminate\Support\Str;$adjusted = Str::start('this/string', '/');// /this/string$adjusted = Str::start('/this/string', '/');// /this/string
Str::startsWith()Метод Str::startsWith определяет, начинается ли данная строка с заданного значения:
use Illuminate\Support\Str;$result = Str::startsWith('This is my name', 'This');// true
Если передается массив возможных значений, метод startsWith вернет true, если строка начинается с любого из заданных значений:
$result = Str::startsWith('This is my name', ['This', 'That', 'There']);// true
Str::studly()Метод Str::studly преобразует заданную строку в StudlyCase:
use Illuminate\Support\Str;$converted = Str::studly('foo_bar');// FooBar
Str::substr()Метод Str::substr возвращает часть строки, указанную параметрами start и length:
use Illuminate\Support\Str;$converted = Str::substr('The Laravel Framework', 4, 7);// Laravel
Str::substrCount()Метод Str::substrCount возвращает количество вхождений заданного значения в данную строку:
use Illuminate\Support\Str;$count = Str::substrCount('If you like ice cream, you will like snow cones.', 'like');// 2
Str::substrReplace()Метод Str::substrReplace заменяет текст в части строки, начиная с позиции, указанной третьим аргументом, и заменяя количество символов, указанное четвертым аргументом. Передача 0 в четвертый аргумент метода вставит строку в указанную позицию, не заменяя какие-либо существующие символы в строке:
use Illuminate\Support\Str;$result = Str::substrReplace('1300', ':', 2);// 13:$result = Str::substrReplace('1300', ':', 2, 0);// 13:00
Str::swap()Метод Str::swap заменяет несколько значений в данной строке, используя функцию strtr в PHP:
use Illuminate\Support\Str;$string = Str::swap([ 'Tacos' => 'Burritos', 'great' => 'fantastic',], 'Tacos are great!');// Burritos are fantastic!
Str::take()Метод Str::take возвращает указанное количество символов из начала строки:
use Illuminate\Support\Str;$taken = Str::take('Build something amazing!', 5);// Build
Str::title()Метод Str::title преобразует заданную строку в Title Case:
use Illuminate\Support\Str;$converted = Str::title('a nice title uses the correct case');// A Nice Title Uses The Correct Case
Str::toHtmlString()Метод Str::toHtmlString преобразует экземпляр строки в экземпляр Illuminate\Support\HtmlString, который может быть отображен в шаблонах Blade:
use Illuminate\Support\Str;$htmlString = Str::of('Nuno Maduro')->toHtmlString();
Str::ucfirst()Метод Str::ucfirst возвращает заданную строку с первым символом в верхнем регистре:
use Illuminate\Support\Str;$string = Str::ucfirst('foo bar');// Foo bar
Str::ucsplit()Метод Str::ucsplit разделяет заданную строку на массив по символам в верхнем регистре:
use Illuminate\Support\Str;$segments = Str::ucsplit('FooBar');// [0 => 'Foo', 1 => 'Bar']
Str::upper()Метод Str::upper преобразует заданную строку в верхний регистр:
use Illuminate\Support\Str;$string = Str::upper('laravel');// LARAVEL
Str::ulid()Метод Str::ulid генерирует ULID, компактный уникальный идентификатор, упорядоченный по времени:
use Illuminate\Support\Str;return (string) Str::ulid();// 01gd6r360bp37zj17nxb55yv40
Если вы хотите получить экземпляр даты Illuminate\Support\Carbon, представляющий дату и время создания заданного ULID, вы можете использовать метод createFromId, предоставленный интеграцией Carbon в Laravel:
use Illuminate\Support\Carbon;use Illuminate\Support\Str;$date = Carbon::createFromId((string) Str::ulid());
Str::uuid()Метод Str::uuid генерирует UUID (версия 4):
use Illuminate\Support\Str;return (string) Str::uuid();
Str::wordCount()Метод Str::wordCount возвращает количество слов в строке:
use Illuminate\Support\Str;Str::wordCount('Hello, world!'); // 2
Str::wordWrap()Метод Str::wordWrap оборачивает строку до заданного количества символов:
use Illuminate\Support\Str;$text = "The quick brown fox jumped over the lazy dog."Str::wordWrap($text, characters: 20, break: "<br />\n");/*The quick brown fox<br />jumped over the lazy<br />dog.*/
Str::words()Метод Str::words ограничивает количество слов в строке. Дополнительная строка может быть передана этому методу через его третий аргумент для указания строки, которая должна быть добавлена в конец усеченной строки:
use Illuminate\Support\Str;return Str::words('Perfectly balanced, as all things should be.', 3, ' >>>');// Perfectly balanced, as >>>
Str::wrap()Метод Str::wrap оборачивает заданную строку с дополнительной строкой или парой строк:
use Illuminate\Support\Str;Str::wrap('Laravel', '"');// "Laravel"Str::wrap('is', before: 'This ', after: ' Laravel!');// This is Laravel!
str()Функция str возвращает новый экземпляр Illuminate\Support\Stringable заданной строки. Эта функция эквивалентна методу Str::of:
$string = str('Taylor')->append(' Otwell');// 'Taylor Otwell'
Если аргумент не передан функции str, функция вернет экземпляр Illuminate\Support\Str:
$snake = str()->snake('FooBar');// 'foo_bar'
trans()Функция trans переводит заданный ключ перевода, используя ваши языковые файлы:
echo trans('messages.welcome');
Если указанный ключ перевода не существует, функция trans вернет заданный ключ. Таким образом, используя приведенный выше пример, функция trans вернет messages.welcome, если ключ перевода не существует.
trans_choice()Функция trans_choice переводит заданный ключ перевода с учетом склонения:
echo trans_choice('messages.notifications', $unreadCount);
Если указанный ключ перевода не существует, функция trans_choice вернет заданный ключ. Таким образом, используя приведенный выше пример, функция trans_choice вернет messages.notifications, если ключ перевода не существует.
Fluent strings предоставляют более свободный, объектно-ориентированный интерфейс для работы со строковыми значениями, позволяя вам объединять несколько операций со строками, используя более читаемый синтаксис по сравнению с традиционными операциями со строками.
afterМетод after возвращает все после заданного значения в строке. Вся строка будет возвращена, если значение не существует внутри строки:
use Illuminate\Support\Str;$slice = Str::of('This is my name')->after('This is');// ' my name'
afterLastМетод afterLast возвращает все после последнего вхождения заданного значения в строке. Вся строка будет возвращена, если значение не существует внутри строки:
use Illuminate\Support\Str;$slice = Str::of('App\Http\Controllers\Controller')->afterLast('\\');// 'Controller'
appendМетод append добавляет заданные значения к строке:
use Illuminate\Support\Str;$string = Str::of('Taylor')->append(' Otwell');// 'Taylor Otwell'
asciiМетод ascii попытается транслитерировать строку в ASCII-значение:
use Illuminate\Support\Str;$string = Str::of('ü')->ascii();// 'u'
basenameМетод basename вернет последний компонент имени из заданной строки:
use Illuminate\Support\Str;$string = Str::of('/foo/bar/baz')->basename();// 'baz'
При необходимости можно указать "расширение", которое будет удалено из конечного компонента:
use Illuminate\Support\Str;$string = Str::of('/foo/bar/baz.jpg')->basename('.jpg');// 'baz'
beforeМетод before возвращает все до заданного значения в строке:
use Illuminate\Support\Str;$slice = Str::of('This is my name')->before('my name');// 'This is '
beforeLastМетод beforeLast возвращает все до последнего вхождения заданного значения в строке:
use Illuminate\Support\Str;$slice = Str::of('This is my name')->beforeLast('is');// 'This '
betweenМетод between возвращает часть строки между двумя значениями:
use Illuminate\Support\Str;$converted = Str::of('This is my name')->between('This', 'name');// ' is my '
betweenFirstМетод betweenFirst возвращает наименьшую возможную часть строки между двумя значениями:
use Illuminate\Support\Str;$converted = Str::of('[a] bc [d]')->betweenFirst('[', ']');// 'a'
camelМетод camel преобразует заданную строку в camelCase:
use Illuminate\Support\Str;$converted = Str::of('foo_bar')->camel();// fooBar
classBasenameМетод classBasename возвращает имя класса заданного класса с удаленным пространством имен класса:
use Illuminate\Support\Str;$class = Str::of('Foo\Bar\Baz')->classBasename();// Baz
containsМетод contains определяет, содержит ли заданная строка заданное значение. Этот метод чувствителен к регистру:
use Illuminate\Support\Str;$contains = Str::of('This is my name')->contains('my');// true
Также можно передать массив значений для определения, содержит ли заданная строка хотя бы одно из значений в массиве:
use Illuminate\Support\Str;$contains = Str::of('This is my name')->contains(['my', 'foo']);// true
containsAllМетод containsAll определяет, содержит ли заданная строка все значения в заданном массиве:
use Illuminate\Support\Str;$containsAll = Str::of('This is my name')->containsAll(['my', 'name']);// true
dirnameМетод dirname возвращает родительский каталог заданной строки:
use Illuminate\Support\Str;$string = Str::of('/foo/bar/baz')->dirname();// '/foo/bar'
При необходимости можно указать, сколько уровней каталогов вы хотите удалить из строки:
use Illuminate\Support\Str;$string = Str::of('/foo/bar/baz')->dirname(2);// '/foo'
excerptМетод excerpt извлекает отрывок из строки, соответствующий первому вхождению фразы в этой строке:
use Illuminate\Support\Str;$excerpt = Str::of('This is my name')->excerpt('my', [ 'radius' => 3]);// '...is my na...'
Опция radius, которая по умолчанию равна 100, позволяет определить количество символов, которые должны появиться с каждой стороны усеченной строки.
Кроме того, вы можете использовать опцию omission для изменения строки, которая будет добавлена перед и после усеченной строки:
use Illuminate\Support\Str;$excerpt = Str::of('This is my name')->excerpt('name', [ 'radius' => 3, 'omission' => '(...) ']);// '(...) my name'
endsWithМетод endsWith определяет, заканчивается ли заданная строка заданным значением:
use Illuminate\Support\Str;$result = Str::of('This is my name')->endsWith('name');// true
Также можно передать массив значений для определения, заканчивается ли заданная строка хотя бы одним из значений в массиве:
use Illuminate\Support\Str;$result = Str::of('This is my name')->endsWith(['name', 'foo']);// true$result = Str::of('This is my name')->endsWith(['this', 'foo']);// false
exactlyМетод exactly определяет, является ли заданная строка точным соответствием другой строки:
use Illuminate\Support\Str;$result = Str::of('Laravel')->exactly('Laravel');// true
explodeМетод explode разбивает строку по заданному разделителю и возвращает коллекцию, содержащую каждый раздел разделенной строки:
use Illuminate\Support\Str;$collection = Str::of('foo bar baz')->explode(' ');// collect(['foo', 'bar', 'baz'])
finishМетод finish добавляет один экземпляр заданного значения к строке, если она еще не заканчивается этим значением:
use Illuminate\Support\Str;$adjusted = Str::of('this/string')->finish('/');// this/string/$adjusted = Str::of('this/string/')->finish('/');// this/string/
headlineМетод headline преобразует строки, разделенные регистром, дефисами или подчеркиваниями, в строку с пробелами, в которой каждая первая буква слова написана заглавной:
use Illuminate\Support\Str;$headline = Str::of('taylor_otwell')->headline();// Taylor Otwell$headline = Str::of('EmailNotificationSent')->headline();// Отправлено уведомление по электронной почте
inlineMarkdownМетод inlineMarkdown преобразует Markdown в стиле GitHub в встроенный HTML с использованием CommonMark. Однако в отличие от метода markdown, он не оборачивает весь сгенерированный HTML в блочный элемент:
use Illuminate\Support\Str;$html = Str::of('**Laravel**')->inlineMarkdown();// <strong>Laravel</strong>
isМетод is определяет, соответствует ли заданная строка заданному шаблону. Звездочки могут использоваться в качестве символов подстановки
use Illuminate\Support\Str;$matches = Str::of('foobar')->is('foo*');// true$matches = Str::of('foobar')->is('baz*');// false
isAsciiМетод isAscii определяет, является ли заданная строка строкой ASCII:
use Illuminate\Support\Str;$result = Str::of('Taylor')->isAscii();// true$result = Str::of('ü')->isAscii();// false
isEmptyМетод isEmpty определяет, является ли заданная строка пустой:
use Illuminate\Support\Str;$result = Str::of(' ')->trim()->isEmpty();// true$result = Str::of('Laravel')->trim()->isEmpty();// false
isNotEmptyМетод isNotEmpty определяет, является ли заданная строка не пустой:
use Illuminate\Support\Str;$result = Str::of(' ')->trim()->isNotEmpty();// false$result = Str::of('Laravel')->trim()->isNotEmpty();// true
isJsonМетод isJson определяет, является ли заданная строка допустимым JSON:
use Illuminate\Support\Str;$result = Str::of('[1,2,3]')->isJson();// true$result = Str::of('{"first": "John", "last": "Doe"}')->isJson();// true$result = Str::of('{first: "John", last: "Doe"}')->isJson();// false
isUlidМетод isUlid определяет, является ли заданная строка ULID:
use Illuminate\Support\Str;$result = Str::of('01gd6r360bp37zj17nxb55yv40')->isUlid();// true$result = Str::of('Taylor')->isUlid();// false
isUrlМетод isUrl определяет, является ли заданная строка URL:
use Illuminate\Support\Str;$result = Str::of('http://example.com')->isUrl();// true$result = Str::of('Taylor')->isUrl();// false
isUuidМетод isUuid определяет, является ли заданная строка UUID:
use Illuminate\Support\Str;$result = Str::of('5ace9ab9-e9cf-4ec6-a19d-5881212a452c')->isUuid();// true$result = Str::of('Taylor')->isUuid();// false
kebabМетод kebab преобразует заданную строку в kebab-case:
use Illuminate\Support\Str;$converted = Str::of('fooBar')->kebab();// foo-bar
lcfirstМетод lcfirst возвращает заданную строку с первым символом в нижнем регистре:
use Illuminate\Support\Str;$string = Str::of('Foo Bar')->lcfirst();// foo Bar
lengthМетод length возвращает длину заданной строки:
use Illuminate\Support\Str;$length = Str::of('Laravel')->length();// 7
limitМетод limit обрезает заданную строку до указанной длины:
use Illuminate\Support\Str;$truncated = Str::of('The quick brown fox jumps over the lazy dog')->limit(20);// The quick brown fox...
Также можно передать второй аргумент для изменения строки, которая будет добавлена в конец усеченной строки:
use Illuminate\Support\Str;$truncated = Str::of('The quick brown fox jumps over the lazy dog')->limit(20, ' (...)');// The quick brown fox (...)
lowerМетод lower преобразует заданную строку в нижний регистр:
use Illuminate\Support\Str;$result = Str::of('LARAVEL')->lower();// 'laravel'
ltrimМетод ltrim обрезает левую сторону строки:
use Illuminate\Support\Str;$string = Str::of(' Laravel ')->ltrim();// 'Laravel '$string = Str::of('/Laravel/')->ltrim('/');// 'Laravel/'
markdownМетод markdown преобразует Markdown в стиле GitHub в HTML:
use Illuminate\Support\Str;$html = Str::of('# Laravel')->markdown();// <h1>Laravel</h1>$html = Str::of('# Taylor <b>Otwell</b>')->markdown([ 'html_input' => 'strip',]);// <h1>Taylor Otwell</h1>
maskМетод mask маскирует часть строки повторяющимся символом и может использоваться для замедления сегментов строк, таких как адреса электронной почты и номера телефонов:
use Illuminate\Support\Str;$string = Str::of('[email protected]')->mask('*', 3);// tay***************
При необходимости можно указать отрицательные числа в качестве третьего или четвертого аргумента метода mask, которые указывают методу начать маскировку с заданного расстояния от конца строки:
$string = Str::of('[email protected]')->mask('*', -15, 3);// tay***@example.com$string = Str::of('[email protected]')->mask('*', 4, -4);// tayl**********.com
matchМетод match вернет часть строки, соответствующую заданному шаблону регулярного выражения:
use Illuminate\Support\Str;$result = Str::of('foo bar')->match('/bar/');// 'bar'$result = Str::of('foo bar')->match('/foo (.*)/');// 'bar'
matchAllМетод matchAll вернет коллекцию, содержащую части строки, соответствующие заданному шаблону регулярного выражения:
use Illuminate\Support\Str;$result = Str::of('bar foo bar')->matchAll('/bar/');// collect(['bar', 'bar'])
Если вы указываете совпадающую группу внутри выражения, Laravel вернет коллекцию совпадений этой группы:
use Illuminate\Support\Str;$result = Str::of('bar fun bar fly')->matchAll('/f(\w*)/');// collect(['un', 'ly']);
Если совпадений не найдено, будет возвращена пустая коллекция.
isMatchМетод isMatch вернет true, если строка соответствует заданному регулярному выражению:
use Illuminate\Support\Str;$result = Str::of('foo bar')->isMatch('/foo (.*)/');// true$result = Str::of('laravel')->isMatch('/foo (.*)/');// false
newLineМетод newLine добавляет символ "конец строки" к строке:
use Illuminate\Support\Str;$padded = Str::of('Laravel')->newLine()->append('Framework');// 'Laravel// Framework'
padBothМетод padBoth обертывает функцию str_pad PHP, заполняя обе стороны строки другой строкой до достижения желаемой длины:
use Illuminate\Support\Str;$padded = Str::of('James')->padBoth(10, '_');// '__James___'$padded = Str::of('James')->padBoth(10);// ' James '
padLeftМетод padLeft обертывает функцию str_pad PHP, заполняя левую сторону строки другой строкой до достижения желаемой длины:
use Illuminate\Support\Str;$padded = Str::of('James')->padLeft(10, '-=');// '-=-=-James'$padded = Str::of('James')->padLeft(10);// ' James'
padRightМетод padRight обертывает функцию str_pad PHP, заполняя правую сторону строки другой строкой до достижения желаемой длины:
use Illuminate\Support\Str;$padded = Str::of('James')->padRight(10, '-');// 'James-----'$padded = Str::of('James')->padRight(10);// 'James '
pipeМетод pipe позволяет вам трансформировать строку, передавая её текущее значение заданной обратной вызовке:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$hash = Str::of('Laravel')->pipe('md5')->prepend('Checksum: ');// 'Checksum: a5c95b86291ea299fcbe64458ed12702'$closure = Str::of('foo')->pipe(function (Stringable $str) { return 'bar';});// 'bar'
pluralМетод plural преобразует строку с единственным словом в её форму множественного числа. Эта функция поддерживает любой из языков, поддерживаемых множителем Laravel:
use Illuminate\Support\Str;$plural = Str::of('car')->plural();// cars$plural = Str::of('child')->plural();// children
Вы можете передать целое число в качестве второго аргумента функции, чтобы получить форму единственного или множественного числа строки:
use Illuminate\Support\Str;$plural = Str::of('child')->plural(2);// children$plural = Str::of('child')->plural(1);// child
positionМетод position возвращает позицию первого вхождения подстроки в строке. Если подстрока не существует внутри строки, возвращается false:
use Illuminate\Support\Str;$position = Str::of('Hello, World!')->position('Hello');// 0$position = Str::of('Hello, World!')->position('W');// 7
prependМетод prepend добавляет заданные значения в начало строки:
use Illuminate\Support\Str;$string = Str::of('Framework')->prepend('Laravel ');// Laravel Framework
removeМетод remove удаляет заданное значение или массив значений из строки:
use Illuminate\Support\Str;$string = Str::of('Arkansas is quite beautiful!')->remove('quite');// Arkansas is beautiful!
Также можно передать false в качестве второго параметра, чтобы игнорировать регистр при удалении строк.
repeatМетод repeat повторяет заданную строку:
use Illuminate\Support\Str;$repeated = Str::of('a')->repeat(5);// aaaaa
replaceМетод replace заменяет заданную строку внутри строки:
use Illuminate\Support\Str;$replaced = Str::of('Laravel 6.x')->replace('6.x', '7.x');// Laravel 7.x
Метод replace также принимает аргумент caseSensitive. По умолчанию метод replace чувствителен к регистру:
$replaced = Str::of('macOS 13.x')->replace( 'macOS', 'iOS', caseSensitive: false);
replaceArrayМетод replaceArray заменяет заданное значение в строке последовательно с использованием массива:
use Illuminate\Support\Str;$string = 'The event will take place between ? and ?';$replaced = Str::of($string)->replaceArray('?', ['8:30', '9:00']);// Уведомление по электронной почте отправлено
replaceFirstМетод replaceFirst заменяет первое вхождение заданного значения в строке:
use Illuminate\Support\Str;$replaced = Str::of('the quick brown fox jumps over the lazy dog')->replaceFirst('the', 'a');// быстрая коричневая лиса перепрыгивает через ленивую собаку
replaceLastМетод replaceLast заменяет последнее вхождение заданного значения в строке:
use Illuminate\Support\Str;$replaced = Str::of('the quick brown fox jumps over the lazy dog')->replaceLast('the', 'a');// быстрая коричневая лиса перепрыгивает через ленивую собаку
replaceMatchesМетод replaceMatches заменяет все части строки, соответствующие шаблону, заданным строковым заменителем:
use Illuminate\Support\Str;$replaced = Str::of('(+1) 501-555-1000')->replaceMatches('/[^A-Za-z0-9]++/', '')// '15015551000'
Метод replaceMatches также принимает замыкание, которое будет вызвано для каждой части строки, соответствующей заданному шаблону, позволяя выполнить логику замены внутри замыкания и вернуть замененное значение:
use Illuminate\Support\Str;$replaced = Str::of('123')->replaceMatches('/\d/', function (array $matches) { return '['.$matches[0].']';});// '[1][2][3]'
replaceStartМетод replaceStart заменяет первое вхождение заданного значения только в том случае, если значение появляется в начале строки:
use Illuminate\Support\Str;$replaced = Str::of('Hello World')->replaceStart('Hello', 'Laravel');// Laravel World$replaced = Str::of('Hello World')->replaceStart('World', 'Laravel');// Hello World
replaceEndМетод replaceEnd заменяет последнее вхождение заданного значения только в том случае, если значение появляется в конце строки:
use Illuminate\Support\Str;$replaced = Str::of('Hello World')->replaceEnd('World', 'Laravel');// Hello Laravel$replaced = Str::of('Hello World')->replaceEnd('Hello', 'Laravel');// Hello World
rtrimМетод rtrim обрезает правую сторону заданной строки:
use Illuminate\Support\Str;$string = Str::of(' Laravel ')->rtrim();// ' Laravel'$string = Str::of('/Laravel/')->rtrim('/');// '/Laravel'
scanМетод scan анализирует ввод из строки в коллекцию в соответствии с форматом, поддерживаемым функцией sscanf PHP:
use Illuminate\Support\Str;$collection = Str::of('filename.jpg')->scan('%[^.].%s');// collect(['filename', 'jpg'])
singularМетод singular преобразует строку в её форму единственного числа. Эта функция поддерживает любой из языков, поддерживаемых множителем Laravel:
use Illuminate\Support\Str;$singular = Str::of('cars')->singular();// car$singular = Str::of('children')->singular();// child
slugМетод slug генерирует дружественный URL "slug" из заданной строки:
use Illuminate\Support\Str;$slug = Str::of('Laravel Framework')->slug('-');// laravel-framework
snakeМетод snake преобразует заданную строку в snake_case:
use Illuminate\Support\Str;$converted = Str::of('fooBar')->snake();// foo_bar
splitМетод split разделяет строку на коллекцию с использованием регулярного выражения:
use Illuminate\Support\Str;$segments = Str::of('one, two, three')->split('/[\s,]+/');// collect(["one", "two", "three"])
squishМетод squish удаляет всю лишнюю белую область из строки, включая лишнюю белую область между словами:
use Illuminate\Support\Str;$string = Str::of(' laravel framework ')->squish();// laravel framework
startМетод start добавляет один экземпляр заданного значения к строке, если она еще не начинается с этого значения:
use Illuminate\Support\Str;$adjusted = Str::of('this/string')->start('/');// /this/string$adjusted = Str::of('/this/string')->start('/');// /this/string
startsWithМетод startsWith определяет, начинается ли заданная строка с заданного значения:
use Illuminate\Support\Str;$result = Str::of('This is my name')->startsWith('This');// true
studlyМетод studly преобразует заданную строку в StudlyCase:
use Illuminate\Support\Str;$converted = Str::of('foo_bar')->studly();// FooBar
substrМетод substr возвращает часть строки, указанную параметрами начала и длины:
use Illuminate\Support\Str;$string = Str::of('Laravel Framework')->substr(8);// Framework$string = Str::of('Laravel Framework')->substr(8, 5);// Frame
substrReplaceМетод substrReplace заменяет текст в части строки, начиная с позиции, указанной вторым аргументом, и заменяя количество символов, указанное третьим аргументом. Передача 0 в третий аргумент метода вставит строку в указанную позицию, не заменяя при этом какие-либо существующие символы в строке:
use Illuminate\Support\Str;$string = Str::of('1300')->substrReplace(':', 2);// 13:$string = Str::of('The Framework')->substrReplace(' Laravel', 3, 0);// The Laravel Framework
swapМетод swap заменяет несколько значений в строке, используя функцию strtr PHP:
use Illuminate\Support\Str;$string = Str::of('Tacos are great!') ->swap([ 'Tacos' => 'Burritos', 'great' => 'fantastic', ]);// Burritos are fantastic!
takeМетод take возвращает указанное количество символов с начала строки:
use Illuminate\Support\Str;$taken = Str::of('Build something amazing!')->take(5);// Build
tapМетод tap передает строку заданному замыканию, позволяя вам исследовать и взаимодействовать со строкой, не влияя на саму строку. Исходная строка возвращается методом tap, независимо от того, что возвращает замыкание:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('Laravel') ->append(' Framework') ->tap(function (Stringable $string) { dump('String after append: '.$string); }) ->upper();// LARAVEL FRAMEWORK
testМетод test определяет, соответствует ли строка заданному шаблону регулярного выражения:
use Illuminate\Support\Str;$result = Str::of('Laravel Framework')->test('/Laravel/');// true
titleМетод title преобразует заданную строку в Title Case:
use Illuminate\Support\Str;$converted = Str::of('a nice title uses the correct case')->title();// A Nice Title Uses The Correct Case
trimМетод trim обрезает заданную строку:
use Illuminate\Support\Str;$string = Str::of(' Laravel ')->trim();// 'Laravel'$string = Str::of('/Laravel/')->trim('/');// 'Laravel'
ucfirstМетод ucfirst возвращает заданную строку с первым символом в верхнем регистре:
use Illuminate\Support\Str;$string = Str::of('foo bar')->ucfirst();// Foo bar
ucsplitМетод ucsplit разбивает заданную строку на коллекцию по символам верхнего регистра:
use Illuminate\Support\Str;$string = Str::of('Foo Bar')->ucsplit();// collect(['Foo', 'Bar'])
upperМетод upper преобразует заданную строку в верхний регистр:
use Illuminate\Support\Str;$adjusted = Str::of('laravel')->upper();// LARAVEL
whenМетод when вызывает заданное замыкание, если заданное условие истинно. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('Taylor') ->when(true, function (Stringable $string) { return $string->append(' Otwell'); });// 'Taylor Otwell'
При необходимости вы можете передать другое замыкание в качестве третьего параметра метода when. Это замыкание будет выполнено, если параметр условия оценивается как false.
whenContainsМетод whenContains вызывает заданное замыкание, если строка содержит заданное значение. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('tony stark') ->whenContains('tony', function (Stringable $string) { return $string->title(); });// 'Tony Stark'
При необходимости вы можете передать другое замыкание в качестве третьего параметра метода when. Это замыкание будет выполнено, если строка не содержит заданное значение.
Вы также можете передать массив значений, чтобы определить, содержит ли данная строка хотя бы одно из значений в массиве:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('tony stark') ->whenContains(['tony', 'hulk'], function (Stringable $string) { return $string->title(); });// Tony Stark
whenContainsAllМетод whenContainsAll вызывает заданное замыкание, если строка содержит все заданные подстроки. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('tony stark') ->whenContainsAll(['tony', 'stark'], function (Stringable $string) { return $string->title(); });// 'Tony Stark'
При необходимости вы можете передать другое замыкание в качестве третьего параметра метода when. Это замыкание будет выполнено, если параметр условия оценивается как false.
whenEmptyМетод whenEmpty вызывает заданное замыкание, если строка пуста. Если замыкание возвращает значение, это значение также будет возвращено методом whenEmpty. Если замыкание не возвращает значение, будет возвращен экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of(' ')->whenEmpty(function (Stringable $string) { return $string->trim()->prepend('Laravel');});// 'Laravel'
whenNotEmptyМетод whenNotEmpty вызывает заданное замыкание, если строка не пуста. Если замыкание возвращает значение, это значение также будет возвращено методом whenNotEmpty. Если замыкание не возвращает значение, будет возвращен экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('Framework')->whenNotEmpty(function (Stringable $string) { return $string->prepend('Laravel ');});// 'Laravel Framework'
whenStartsWithМетод whenStartsWith вызывает заданное замыкание, если строка начинается с заданной подстроки. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('disney world')->whenStartsWith('disney', function (Stringable $string) { return $string->title();});// 'Disney World'
whenEndsWithМетод whenEndsWith вызывает заданное замыкание, если строка заканчивается заданной подстрокой. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('disney world')->whenEndsWith('world', function (Stringable $string) { return $string->title();});// 'Disney World'
whenExactlyМетод whenExactly вызывает заданное замыкание, если строка точно соответствует заданной строке. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('laravel')->whenExactly('laravel', function (Stringable $string) { return $string->title();});// 'Laravel'
whenNotExactlyМетод whenNotExactly вызывает заданное замыкание, если строка не точно соответствует заданной строке. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('framework')->whenNotExactly('laravel', function (Stringable $string) { return $string->title();});// 'Framework'
whenIsМетод whenIs вызывает заданное замыкание, если строка соответствует заданному шаблону. Звездочки могут использоваться в качестве подстановочных значений. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('foo/bar')->whenIs('foo/*', function (Stringable $string) { return $string->append('/baz');});// 'foo/bar/baz'
whenIsAsciiМетод whenIsAscii вызывает заданное замыкание, если строка представляет собой 7-битный ASCII. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('laravel')->whenIsAscii(function (Stringable $string) { return $string->title();});// 'Laravel'
whenIsUlidМетод whenIsUlid вызывает заданное замыкание, если строка представляет собой допустимый ULID. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;$string = Str::of('01gd6r360bp37zj17nxb55yv40')->whenIsUlid(function (Stringable $string) { return $string->substr(0, 8);});// '01gd6r36'
whenIsUuidМетод whenIsUuid вызывает заданное замыкание, если строка представляет собой допустимый UUID. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('a0a2a2d2-0b87-4a18-83f2-2529882be2de')->whenIsUuid(function (Stringable $string) { return $string->substr(0, 8);});// 'a0a2a2d2'
whenTestМетод whenTest вызывает заданное замыкание, если строка соответствует заданному регулярному выражению. Замыкание получает экземпляр текучей строки:
use Illuminate\Support\Str;use Illuminate\Support\Stringable;$string = Str::of('laravel framework')->whenTest('/laravel/', function (Stringable $string) { return $string->title();});// 'Laravel Framework'
wordCountМетод wordCount возвращает количество слов в строке:
use Illuminate\Support\Str;Str::of('Hello, world!')->wordCount(); // 2
wordsМетод words ограничивает количество слов в строке. При необходимости вы можете указать дополнительную строку, которая будет добавлена к усеченной строке:
use Illuminate\Support\Str;$string = Str::of('Perfectly balanced, as all things should be.')->words(3, ' >>>');// Perfectly balanced, as >>>