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