Также, иногда, заменять нужнее не с начала, а с конца строки. Для таких целей str_replace не подходит.
Вот пара функций решающих эту проблему.
Иногда требуется заменить в строке только одно сочетание, а не все.
06.05.2016
function str_replace_once($search, $replace, $text) { $pos = strpos($text, $search); return $pos!==false ? substr_replace($text, $replace, $pos, strlen($search)) : $text; } function str_replace_BACK_once($search, $replace, $text) { $pos = strrpos($text, $search); return $pos!==false ? substr_replace($text, $replace, $pos, strlen($search)) : $text; }