Wörter-Erkennung

Hallo,

wie kann ich mit php in einem Text bestimmte Wörter, die sich wiederholen, erkennen
und evtl. verändern:

z.B. es kommt immer wieder vor (in Grossbuchstaben):

SUPPE bla bla bla.

Ich möchte daraus machen:
Suppe (fett, das Wort fett nicht die Suppe ;-), danach Absatz und in der neuen Zeile der weitere Text.

Das Wort SUPPE ist nicht in irgendwelchen Tags o.ä.

?
Hilfe, wer weiss mir da ne Lösung?

Danke für Eure Unterstützung

Gruss
Klaus
 
PHP:
$string="Text der SUPPE enthält und wo SUPPE geändert werden soll";

str_replace("SUPPE","Suppe fett<br />",$string);
ausgabe:
Code:
Text der Suppe fett
enthält und wo Suppe fett
geändert werden soll
 
Hallo Nero 85,

sorry, wenn ich nerve, aber ich bin absoluter anfänger in php. Wenn ich Deinen String so eingebe:

<body>
$string="Text der SUPPE enthält und wo SUPPE geändert werden soll";

str_replace("SUPPE","Suppe fett<br />",$string);

</body>

dann klappt nix. Wenn ich das <php ....?> davor(danach) setze klappt das auch nicht.
Bitte lach jetzt nicht, kannst Du mir da noch was genaueres schicken?

Danke Dir

Klaus
 
Hallo,

so:

PHP:
<?php
 $string="Text der SUPPE enthält und wo SUPPE geändert werden soll"; 

str_replace("SUPPE","Suppe fett<br />",$string);  
?>
 
Ok! Aller Anfng ist schwer! Hab gedacht du kannst PHP schon was länger.

Also. Unterstützt dein Server überhaupt PHP? Wenn ja, hat die Datei auch eine dieser Endungen:
.php
.phtml
.php3
.php4

Wenn das alles zutrifft, dann nimm das Script von phillipcool (also das mit dem <?php und dem ?>).
 
hei,

ok, habe jetzt noch gelesen, dass es ja heissen muss:

<?php
$string="Text der SUPPE enthält und wo SUPPE geändert werden soll";
echo str_replace("SUPPE","Suppe fett<br />",$string);
?>

das echo hat gefehlt.
naja, und die Suppe mache ich fett, aber lieber nur als Schriftart mit <b>

Merci Euch
 
hei,

da taucht doch noch was auf..
Wenn in dem zu ändernden Text neben "SUPPE" auch noch "LÖFFEL" und "HERD" steht und
diese Wörter sollen wie "SUPPE" zu "<b>Suppe</b> bzw. "<b>Löffel</b> etc. geändert werden.
Und nach jedem dieser Schlagworte soll ein Zeilenumbruch sein.

Hä?
Ich hoffe, Ihr versteht, was ich meine. Wer hilft mir aus der Klemme? Ich probiere hier zwar wie blöd, komme aber dann doch nicht weiter.

Danke
 
ersetze das:
PHP:
echo str_replace("SUPPE","<b>Suppe</b><br />",$string);
durch das:
PHP:
echo 
    str_replace("SUPPE","<b>Suppe</b><br />",
    str_replace("LÖFFEL","<b>Löffel</b><br />",
    str_replace("HERD","<b>Herd</b><br />",$string);
 
Naja schreib alle zu suchenden Werte in ein Array und dann kannst du mit einer Schleife (z.B for oder foreach) das Array durchlaufen und jedes Wort ersetzen.

Gibt sicher auch noch andere Lösungen (Bin kein Regex experte, aber gibt bestimmt ne Funktion, wo man mehrere Werte suchen kann), aber dies ist eine ;)

Edit: Neros Lösung, also alles einzeln zu schreiben ist natürlich auch eine Lösung.
Aber ich denke das mit der Schleife und dem Array wäre dann vorallem bei Datenbankabfragen oder so die bessere Lösung.
 
Zurück