Piet: Text ersetzen

Beitrag lesen

Hallo,
die groß-kleinschreibfunktion arbeitet ohne probleme

$new_text = preg_replace('~('.preg_quote($suche).')~i','<b>\1</b>',$old_text);

Wobei ~i = Groß-/Kleinschreibung nicht beachten bei der Suche nach Übereinstimmungen.

\1 = Backreference auf Klammerindex (erstes Klammerpaar)

  1. Problem:
    im text sind einige Passagen durch Anführungszeichen gekenntzeichnet:
    lorem dale die dum "Bauhaus" dale dlormen dkan

Wäre mit regexp eigentlich auch kein Abenteuer.

$new_text = preg_replace('~"([^"]+)"~','<b>"\1"</b>',$old_text);

Das ersetzen der anführungszeichen funktioniert auch, aber leider wenn der HTML-Code so aussieht:
Gastspiele mit &#034;Die mechanische Bauhausb&uuml;hne&#034; in K&ouml;ln,

leider nicht, in diesem fall verwende ich folgende abwandlung:
$new_text  = preg_replace('~&#034;([^&#034;]+)&#034;~','<b>&#034;\1&#034;</b>',$old_text);

dank für die hilfe