Dennis: HTML-Link erstellen

Beitrag lesen

Hi Sascha,

Alle meine bisherigen Versuche das mit regulären Ausdrücken hinzubekommen sind fehlgeschlagen!

Also folgendes hat sich bei mir mit PHP bewährt, das wandelt http://, ftp:// und mailto: Links um, wobei das Title Attribut entsprechend angepasst wird und mailto: Links nicht in einem neuen Fenster geöffnet werden:

//Externe Links aus dem Text herrausfiltern
$links = preg_match_all("=<(http://|ftp://|mailto:)([a-zA-Z0-9._-:?&/=@#~>{3,})]=U", $text, $treffer);

//Und durch HTML Link ersetzen
if($links)
{
 foreach($treffer[0] as $key => $value)
 {
  $link = "<a href="".$treffer[1][$key].$treffer[2][$key].""";
  if($treffer[1][$key] == "mailto:") $link .= " title="E-Mail schreiben">".$treffer[2][$key]."</a>";
  else $link .= " title="Externer Link" target="_blank">".$treffer[1][$key].$treffer[2][$key]."</a>";

$text = str_replace($value, $link, $text);
 }
}

Vielleicht kriegst du das ja zu Perl umgemurkst ;-)

Ansonsten kann es vielleicht ein anderer brauchen....

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
Zufällige Hinweise:
------------------------
Newbies aufgepasst: Auf viele Fragen findet man eine
Antwort im Archiv, das man auch durchsuchen kann