i have
JavaScript
x
$str ="GOODDAY"
and i need to replace O
with U
, but not change ALL O
characters.
For example
JavaScript
$str1 ="GUODDAY" ;
$str2 ="GOUDDAY" ;
$str3 ="GUUDDAY" ;
i used str_replace but only get $str3 , any idea?
Advertisement
Answer
It looks like you want to print the string as many times as the occurrences of O, and replace O once each time, according to the iteration number, and finally print the string with all O replaced. This will do it:
JavaScript
$str = "GOODDAY";
$find = "O";
$replaceWith = "U";
$lastPos = 0;
while (($lastPos = strpos($str, $find, $lastPos)) !== false) {
echo substr_replace($str, $replaceWith, $lastPos, 1) . "n";
$lastPos = $lastPos + strlen($find);
}
echo str_replace($find, $replaceWith, $str);