php. Как использовать str_replace так, чтобы он делал замену только при первом вхождении?
Как мне использовать str_replace() так, чтобы он заменял только первое вхождение $search в $subject.
Есть ли вообще такая возможность?
Есть ли вообще такая возможность?
Нравится:
1
Карма:
2
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Можно попробовать сделать функцию first_str_replace, которая будет делать замену первого найденного слова:
В функции first_str_replace, есть функция strpos, которая найдет позицию первого вхождения строки в тексте.
И далее с помощью функции substr_replace, находит и делает замену по позиции начала и конца строки в тексте.
<?php
$text = 'Hello world world!';
print_r(first_str_replace($text, 'world', 'zambers'));
/**
* @param $text - текст
* @param $need - слово, которое необходимо заменить
* @param $replace - слово, на которое заменяем
*/
function first_str_replace($text, $need, $replace)
{
$pos = strpos($text, $need);
if ($pos !== false) {
$text = substr_replace($text, $replace, $pos, strlen($need));
}
return $text;
}
В функции first_str_replace, есть функция strpos, которая найдет позицию первого вхождения строки в тексте.
И далее с помощью функции substr_replace, находит и делает замену по позиции начала и конца строки в тексте.
Нравится:
1
Карма:
0