phpbar.de logo

Mailinglisten-Archive

[php] =?ISO-8859-1?Q?W=F6rter_markieren_im_HTML-Quelltext?=

[php] Wörter markieren im HTML-Quelltext

Andreas Lange php_(at)_phpcenter.de
Tue, 15 Oct 2002 12:52:18 +0200


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