Метод swap
Метод swap класса Str выполняет замену подстрок в строке. В отличие от стандартной функции str_replace, этот метод принимает ассоциативный массив, где ключи - это искомые подстроки, а значения - подстроки для замены. Метод возвращает объект Stringable, что позволяет использовать цепочки вызовов. Первым параметром передаётся ассоциативный массив замен, вторым - исходная строка или объект Stringable.
Синтаксис
<?php
use Illuminate\Support\Str;
$res = Str::swap($search, $subject);
?>
Пример
Давайте заменим плейсхолдеры в строке на реальные значения:
<?php
use Illuminate\Support\Str;
$search = [
':name' => 'John',
':age' => 25,
':city' => 'New York'
];
$res = Str::swap($search, 'Name: :name, Age: :age, City: :city');
echo $res;
?>
Результат выполнения кода:
"Name: John, Age: 25, City: New York"
Пример
Метод swap также работает с объектом Stringable, что позволяет строить цепочки вызовов:
<?php
use Illuminate\Support\Str;
$search = [
'[name]' => 'Alice',
'[role]' => 'Admin',
'[status]' => 'Active'
];
$res = Str::of('User: [name], Role: [role], Status: [status]')
->swap($search)
->upper();
echo $res;
?>
Результат выполнения кода:
"USER: ALICE, ROLE: ADMIN, STATUS: ACTIVE"
Пример
Метод может заменить несколько разных плейсхолдеров в одном вызове:
<?php
use Illuminate\Support\Str;
$search = [
'{id}' => 5,
'{title}' => 'Laravel Guide',
'{author}' => 'John Doe'
];
$template = 'Article {id}: {title} by {author}';
$res = Str::swap($search, $template);
echo $res;
?>
Результат выполнения кода:
"Article 5: Laravel Guide by John Doe"
Смотрите также
-
метод
replace,
который заменяет одну подстроку на другую -
метод
replaceFirst,
который заменяет первое вхождение подстроки -
метод
replaceLast,
который заменяет последнее вхождение подстроки -
метод
remove,
который удаляет заданные подстроки из строки