Candid Dauth: Wort suchen

Beitrag lesen

Hallo du da draußen,

Solange das Wort, dass du unterstreichen möchtest, kein regulärer Ausdruck ist, wäre es mit der Funktion str_replace() (http://php.net/str_replace) geschickter.
Wenn du deinen Text in einer Variablen $text und das Wort, dass du unterstreichen willst, in der Variable $wort hast, sähe es dann so aus:

$html_code_davor = "<span style="text-decoration:underline;">"; // Der HTML-Code, der vor dem Wort eingefuegt werden soll
$html_code_danach = "</span>"; // Der HTML-Code, der nach dem Wort eingefuegt werden soll
$text = str_replace($wort, $html_code_davor.$wort.$html_code_danach, $text);

Wenn du mehrere Wörter hast, lasse die Funktion einfach in einer Schleife mit jedem der Wörter durchführen.

Hast du allerdings einen regulären Ausdruck, nach dem du das Wort suchen willst, das du unterstreichen lassen willst, wird es ein wenig komplizierter:

$text = preg_replace("/".$wort."/", $html_code_davor."\0".$html_code_danach, $text);

Jetzt wäre dann noch zu beachten, dass du diverse Zeichen, wie zum Beispiel den Slash (/) in $wort maskierst (also beispielsweise zu / machst). Diverse andere Zeichen müssen dann auch noch ersetzt werden. Außerdem besteht dann noch die Möglichkeit, die Überprüfung auf Groß-/Kleinschreibung auszuschalten, aber dazu liest du dir am besten die Anleitung der Funktion preg_match (http://php.net/preg_match) durch.

Grüße von hier drinnen, aus Biberach an der Riss (http://www.stadt-biberach.de/),
Candid Dauth (Dogfish)

--
Selten Dumme sind nicht selten, aber dumm.
http://dogfish.net.tc/