Mailinglisten-Archive |
Hi Liste, ich habe folgende Funktion: param $string = beliebiger Text param $words = eine Wortliste getrennt durch Kommas return alle in $words aufgelisteten Wörter werden durch ein {m} eingeschlossen function marker($string, $words) { $words = explode(',',$words); $temp = array(); foreach($words as $word) { $temp[] = preg_quote(trim($word)); } $words = implode('|',$words); return preg_replace('#('.$words.')#is','{m}\1{m}',$string); } Für normalen Klartext funktioniert das ganz wunderbar. Wie kann ich jetzt verhindern, das die Wörter auch innerhalb von HTML-Tags markiert werden? Bsp: $words = 'banane'; <a href="/content/banane.php">Bananen Content</a> --> marker Soll: <a href="/content/banane.php">{m}Banane{m}n Content</a> Ist: <a href="/content/{m}banane{m}.php">{m}Banane{m}n Content</a> Ich hoffe ich habe das Problem verständlich dargestellt ;-) Das beste wäre natürlich, wenn das in das Pattern des preg_replace integriert wäre. Aber jeder andere möglichst performante Ansatz wäre super. Gruss Andreas Lange -- Haas Media GmbH | Phone +49(0)511 27038-70 Agentur für moderne Medien | Fax +49(0)511 27038-69 Hindenburgstrasse 38 | Web http://www.haas-media.de/ 30175 Hannover | Mail andreas.lange_(at)_haas-media.de Deutschland/Germany | PGPFP 4204 C703 2D73 58DA F75B C1F2 E524 6949
php::bar PHP Wiki - Listenarchive