$tekst = 'krofa';
$znak1 = 'f';
$znak2 = 'w';
echo '<p>'.$tekst.'</p>'; $tekst[strpos($tekst, $znak1)] = $znak2; echo '<p>'.$tekst.'</p>';
Można również użyć str_replace() z ostatnim parametrem ustawionym na 1:
$tekst = 'krofa';
$znak1 = 'f';
$znak2 = 'w';
echo '<p>'.$tekst.'</p>'; echo '<p>'.$tekst.'</p>';
Zadziała to tak samo, ponieważ strpos() zwraca "miejsce" wystąpienia
pierwszego znaku w ciągu. No chyba, że użyjesz strpos() z ustawionym drugim parametrem.
Podobnie jak str_replace() można użyć wyrażeń regularnych i preg_replace().
EDITSpóźniłem się. Tyle rozwiązań ilu programistów.