Gustav Gans: Gefundene AUsdrücke in einem Text markieren

Beitrag lesen

Hallo!

Für mein ursprüngliches Vorhaben ist aber offensichtlich preg_replace das Mitel der Wahl.

na also, dein Ansatz war ja garnicht schlecht.

Nur noch eine kleine Hilfestellung. Ich hatte mir mal eine Funktion gemacht um text in einer Datei zu ersetzen. Vielleicht hilft dir das ja weiter.

function replace_all($string1, $string2, $filename) {
   $fp = fopen( $filename, 'r');
   $contents = fread($fp, filesize($filename));
   fclose($fp);
   $massreplace = preg_replace("#$string1#i", $string2, $contents);
   $fp = fopen($filename, 'w');
   fputs($fp, $massreplace);
   fclose($fp);
}

Du hast mich auf die falsche Spur geschickt. Nachdem ich es ja einfach ersetzen will, führt mich preg_replace nicht zum Ziel, sondern zur Fehlermeldung "Delimiter must not be alphanumeric or backslash".

Um mein ursprüngliches Vorhaben zu realisieren, brauche ich eigentlich nur str_replace!

<?php  
 $text="Das ist doch Schund, sagte Mutter, als sie das Buch fand. Na und, meinte Peter. Das ist rund und nicht eckig, also halt bitte Deinen Mund, Mutter! So ein Verhalten löst bei mir Verwunderung aus";  
 $textneu=str_replace("und","<span class=\"test\">und</span>",$text);  
 echo"<p>".$textneu."</p>\n";  
?>

Und funktioniert!

Danke trotzdem!

Gustav Gans