beim stöbern auf der unten verlinkten seite bin ich über ein php snippet gestossen das ich für meine zwecke sehr gut gebrauchen kann.
es handelt sich um folgendes code stück
http://simplecontent.net/phpsnippets/5/link_words.html
auf der seite funktioniert die demo sehr gut, aber sobald ich den code auf meiner xampp
installation unter windows xp ausfüre bekomme ich folgendes resultat.
das sehe ich im firefox browser:
quelltextansicht:
------------------------------
Aus einem kann man herstellen.
Z.B. Essstäbchen, , Schrankwände oder Fensterrahmen.
Möchte man aber damit tun kann man
aber auch eine daraus bauen.
oder , da fällt die Entscheidung doch leicht, oder?
Immer noch besser als .
<img src="/gfx/gitarre.jpg" alt="Gitarre" title="Gitarre aus einem Urwaldbaum, um ein Haar wäre aus dem Holz Klopapier geworden.">
-------------------------------
wie ihr sehen könnt sollte das script die phrasen die im array definiert sind mit der angegebenen url verlinken.
beim ausführen des scripts "fehlen" diese links/phrasen im text. woran kann das liegen.
script getestet auf:
windows xp xammp
debian linux, apache, php4
es wäre sehr nett von euch wenn sich jemand ein paar minuten zeit für mein problem nehmen würden.
naturlich habe ich vor diesem post zuerst den webmaster dieser seite um hilfe gebeten, leider nach einer woche keine antwort ..
und hier der php code
p.s
Welche überbreite, auf meinem 22" display sieht alles wunderbar aus ;-)
mit freundliche grüssen
-fhsd-
es handelt sich um folgendes code stück
http://simplecontent.net/phpsnippets/5/link_words.html
auf der seite funktioniert die demo sehr gut, aber sobald ich den code auf meiner xampp
installation unter windows xp ausfüre bekomme ich folgendes resultat.
das sehe ich im firefox browser:
quelltextansicht:
------------------------------
Aus einem kann man herstellen.
Z.B. Essstäbchen, , Schrankwände oder Fensterrahmen.
Möchte man aber damit tun kann man
aber auch eine daraus bauen.
oder , da fällt die Entscheidung doch leicht, oder?
Immer noch besser als .
<img src="/gfx/gitarre.jpg" alt="Gitarre" title="Gitarre aus einem Urwaldbaum, um ein Haar wäre aus dem Holz Klopapier geworden.">
-------------------------------
wie ihr sehen könnt sollte das script die phrasen die im array definiert sind mit der angegebenen url verlinken.
beim ausführen des scripts "fehlen" diese links/phrasen im text. woran kann das liegen.
script getestet auf:
windows xp xammp
debian linux, apache, php4
es wäre sehr nett von euch wenn sich jemand ein paar minuten zeit für mein problem nehmen würden.
naturlich habe ich vor diesem post zuerst den webmaster dieser seite um hilfe gebeten, leider nach einer woche keine antwort ..
und hier der php code
PHP-Code:
<?php
function cmp($a,$b)
{
$bool = strlen($a) < strlen($b);
return $bool;
}
function gimmeTheLink($k, &$map)
{
$r = '';
if (isset($map[$k])){
$r = $map[$k];
unset($map[$k]);
}else{
$r = $k;
}
return $r;
}
$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.
Gitarre oder Urwaldbaum, da fällt die Entscheidung doch leicht, oder?
Immer noch besser als Klopapier.
<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',
'viel' => 'http://www.pril.de',
'Zeug' => 'http://www.zeug.de',
'viel unnützes Zeug' => 'http://www.ebay.de',
'etwas wirklich sinnvolles' => 'http://www.internetabschalten.de',
);
$map = array();
foreach ($targets as $k => $v){
$key2use = preg_quote($k);
$map[$key2use] = sprintf('<a href="%s">%s</a>', $v, $k);
}
uksort($map, 'cmp');
$tmp = '(\b'.join ('\b|\b', array_keys($map)).'\b)';
$regexp = "/".$tmp."(?![^<]+>)/e";
$new = preg_replace($regexp,'gimmeTheLink("", $map)',$text);
echo $new;
?>
p.s
Welche überbreite, auf meinem 22" display sieht alles wunderbar aus ;-)
mit freundliche grüssen
-fhsd-
Kommentar