Документация 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; // tay***************
При необходимости вы можете указать отрицательное число в качестве третьего аргумента метода mask
, что указывает методу начать маскировку на заданном расстоянии от конца строки:
// 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; // tay***************
При необходимости можно указать отрицательные числа в качестве третьего или четвертого аргумента метода mask
, которые указывают методу начать маскировку с заданного расстояния от конца строки:
// tay***@example.com // 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 >>>