Hello,
Ich möchte, dass in einem Url in einem Text automatisch in einen Link umgewandelt wird. Das wäre mit irgendeinem Codeschnipsel mit regulären Ausdrücken noch irgendwie hinzubekommen, auch wenn ich mich mit reg. Ausdrücken nicht auskenne. Aber ich möchte, dass bei Links zur eigenen Homepage der Url der Homepage nicht sichtbar ist.
Also aus
http://meine-homepage.de/verzeichnissoll
<a href='http://meine-homepage.de/verzeichnis'>verzeichnis</a>
werden, aber aus
http://andere-homepage.de/test/
soll weiterhin
<a href='http://andere-homepage.de/test/'>http://andere-homepage.de/test/</a>
Das ist eigentlich eine interessante Übungsaufgabe.
Ich würde das in mehreren Stufen machen.
1. Stufe Link erkennen
2. Stufe Link normalisieren
3. Stufe Link anpassen und die Ausgabe zusammenbauen
function get_urls($page)
{
$_urls = array();
$_a = array();
$newpage = '';
// 1 2 3 4 <5> 6 7
$pattern = '=^(.*?)(<area|<a|<img)(.*?)(href=|src=)"|'"|'(>.*$|>.*?</a>.*$)=msi';
while(preg_match($pattern, $page, $_a))
{
if(count($_a)>1)
{
$page = $_a[7];
## $newpage .= $_a[1].$_a[2].$_a[3].$_a[4].'"'.rewrite_url($_a[5]).'"'.$_a[6];
$_urls[] = $_a[5];
}
}
# return $newpage.$page;
return $_urls;
}
Vielleicht hilft Dir die kleine Funktion dabei.
Die sucht in einer Seite (also dem String $page) alle Hyperreferenzen heraus, die unter (1) in der Liste stehen.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)
