Begriffe in einem Text verlinken (Beispiel 2)

Weitere Beispiele

Beispiel ausführen
Um nur die Begriffe im Text zu ersetzen welche ausserhalb von HTML-Tags stehen kann man sich eines regulären Ausdrucks bedienen. Das ist der gleiche wie beim markieren von Suchtreffern.
<?php

$text 
= <<< EOT

Aus einem Urwaldbaum kann man viel unnützes Zeug herstellen.
Z.B. Essstäbchen, Klopapier, Schrankwände oder Fensterrahmen.
Möchte man aber etwas wirklich sinnvolles damit tun kann man 
aber auch eine Gitarre daraus bauen.

<img src="/gfx/gitarre.jpg" alt="Gitarre" title="Gitarre aus einem Urwaldbaum, um ein Haar wäre aus dem Holz Klopapier geworden.">
EOT;


$targets = array(
 
'Urwaldbaum' => 'http://de.wikipedia.org/wiki/Urwald',
 
'Klopapier' => 'http://www.umwelt.org/robin-wood/german/trowa/urwaldpapier/index.htm',
 
'Gitarre' => 'http://de.wikipedia.org/wiki/Gitarre',
);

$map = array();

foreach (
$targets as $k => $v){

    
$map[$k] = sprintf('<a href="%s">%s</a>'$v$k);
}

$regexp "/(\w+)(?![^<]+>)/e";

$new preg_replace($regexp,'isset($map["\1"])?$map["\1"]:"\1";'$text);


echo 
$new;

?>

Benutzte Funktionen


Hinweise zum DatenschutzImpressum © 2005-2008 S. Eickhoff