Метод replace
Метод replace класса Str выполняет замену всех вхождений
указанной подстроки на новую подстроку в переданной строке.
Первый параметр метода - искомая подстрока, второй - строка замены,
третий - исходная строка. Метод возвращает новую строку с выполненной
заменой. Если искомая подстрока не найдена, возвращается неизменённая
исходная строка.
Синтаксис
<?php
Str::replace($search, $replace, $subject);
?>
Пример
Давайте заменим все вхождения подстроки 'foo' на 'bar' в строке:
<?php
use Illuminate\Support\Str;
$str = 'foo foo bar foo';
$res = Str::replace('foo', 'bar', $str);
echo $res;
?>
Результат выполнения кода:
"bar bar bar bar"
Пример
Заменим слово 'apple' на 'orange' в строке с текстом:
<?php
use Illuminate\Support\Str;
$text = 'I like apple, apple is tasty';
$res = Str::replace('apple', 'orange', $text);
echo $res;
?>
Результат выполнения кода:
"I like orange, orange is tasty"
Пример
Если искомая подстрока не найдена, возвращается исходная строка:
<?php
use Illuminate\Support\Str;
$str = 'hello world';
$res = Str::replace('xyz', 'abc', $str);
echo $res;
?>
Результат выполнения кода:
"hello world"
Пример
Метод также поддерживает замену с использованием массивов для поиска и замены:
<?php
use Illuminate\Support\Str;
$str = 'a b c d e';
$res = Str::replace(['a', 'c', 'e'], ['1', '3', '5'], $str);
echo $res;
?>
Результат выполнения кода:
"1 b 3 d 5"
Смотрите также
-
метод
replaceFirst,
который заменяет только первое вхождение подстроки -
метод
replaceLast,
который заменяет только последнее вхождение подстроки -
метод
remove,
который удаляет все вхождения подстроки -
метод
swap,
который заменяет несколько подстрок одновременно