preg_replace_callback, возвращаемое значение обратного вызова не заменяет совпавшую строку
В следующем фрагменте
Почему бар не заменяет foo?
$subject = "Hello foo";
preg_replace_callback(
'/\bfoo\b/i',
function ($match)
{
return 'bar';
},
$subject
);
echo $subject;
1 ответ
Решение
preg_replace_callback
не модифицирует $subject
но возвращает новую строку:
Следующий код должен работать:
$subject = "Hello foo";
echo preg_replace_callback(
'/\bfoo\b/i',
function ($match)
{
return 'bar';
},
$subject
);