Tobias Kloth: Wörter hervorheben

Beitrag lesen

Hallo Viennamade,

Wenn PHP eine Seite darstellt, dann sollen bestimmte Worte hervorgehoben werden. Diese Worte stehen in einem Array. Wie macht man das in etwa?

ich würde das so machen: Wörter zu einem String "zusammenkleben" (mit | voneinander getrennt), dann noch ein '/(' davor und ein ')/' dahinter und fertig ist der reguläre Ausdruck für preg_replace. Als zweiten Parameter nimmt man dann noch "<strong>$1</strong>" o.ä. und fertig ist die Hervorhebung: :-)

$woerter = array('hallo','hat','mit');
  $reg = '/('.implode('|',$woerter).')/i';
  echo preg_replace($reg,"<strong>$1</strong>",$str);

(wobei in $str der hervorzuhebende Text steht)

Grüße aus Nürnberg
Tobias

[1] ggf. muss man eben noch Zeichen entschärfen, auf Wortgrenzen (\b) prüfen (/(wort)\b/ z.B. findet 'wort' aber nicht 'worte'), und/oder ein 'i' für das Ignorieren von Groß-/Kleinschreibung dahinterhängen

--
Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|