Вы можете использовать это:
function str_replace_once($str_pattern, $str_replacement, $string){
if (strpos($string, $str_pattern) !== false){
$occurrence = strpos($string, $str_pattern);
return substr_replace($string, $str_replacement, strpos($string, $str_pattern), strlen($str_pattern));
}
return $string;
}
Нашел этот пример с php.net
Использование:
$string = "Thiz iz an examplz";
var_dump(str_replace_once('z','Z', $string));
Выход:
ThiZ iz an examplz
Это может немного снизить производительность, но самое простое решение.