Tom: Link automatisch anklickbar machen

Beitrag lesen

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/verzeichnis

soll

<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 :-)