Riko: Links konvertieren

Hallo Ihr!

Ich benutze folgende Funktion um einen Link zu konvertieren. Dabei soll aus einem String automatisch ein Link gemacht werden.

//Links konvertieren
function linkcon($string) {
$pattern = '#(^|[^"=]{1})(http://|ftp://|mailto:|www.)([^\s<>]+)([\s\n<>]|$)#sm';
return preg_replace($pattern,"\1<a href="\2\3" target="_blank">\2\3</a>\4",$string);
}

Das Ganze funktioniert allerdings nur, wenn http://, ftp://, mailto: oder www. vorkommt. Das soll auch noch funktionieren, wenn der String ein @ enthält. Weiterhin soll das target="_blank" nur bei http://, ftp:// oder www. genommen werden - bei mailto oder @ natürlich nicht.

Zwischen <a>[HIER]</a> soll dann nur die eMail-Adresse bzw. der Link ohne http://, mailto: oder ftp:// stehen

Kann mir jemand helfen? Kriege das nicht hin.

Vielen dank,

Riko

  1. Hallo,

    if (preg_match("/@/", $string))
    {
     $string = 'mailto:' . $string;
    }
    else $string = $string . ' target="blank"';
    }

    Dieter