Phil: preg_replace und parse_url

Beitrag lesen

Hallo zusammen

Ich versuche verzweifelt folgenden Code zum laufen zu bringen:

  
$text = preg_replace("!(^|[^\"=]{1})(http://|ftp://|mailto:|https://)([^\s<>]+)([\s\n<>]|$)!sme", "'\\1<a href=\"\\2\\3\" target=\"_blank\">" . parse_url('\\2\\3', PHP_URL_HOST) . "</a>\\4'", $zeile->text);  

Mein Ziel ist es, die Links in einen Text anklickbar zu machen. Allerdings soll der angezeigte Link-Text anders lauten als der eigentliche Link. Sowas in der Richtung:

Text:
Auf http://www.xxx.de/test.zip gibt es gratis...

Daraus soll preg_replace machen.
Auf <a href="http://www.xxx.de/test.zip">xxx.de</a> gibt es gratis..

Vielen Dank für Eure Hilfe.