Tjah, jeg har faktisk en liggende:
function url2link($txt)
{
$username = "[a-z0-9_\-]+";
$password = "[a-z0-9_\-!#]+";
$host = "[a-z0-9\-]+\.[a-z0-9\-\.]+";
$port = "\d{1,5}";
$path = "\/[a-z0-9\/\-\.\(\)\%]*";
$querystr = "\?[a-z0-9&=\-\.%\(\)]+";
$proto = "(https?|ftp):\/\/";
$url = "$host(:$port)?($path($querystr)?)?";
$protodomain = "/$proto(($username(:$password)?@)?$url)/i";
$domain = "/(^| )(www\.$url)/im";
$protomail = "/mailto:($username@$host)/i";
$mail = "/(^| )($username@$host)/im";
$replacements = array(
$protodomain => "<a href=\"\\0\" target=\"_blank\">\\2</a>"
,$domain => "\\1<a href=\"
http://\\2\" target=\"_blank\">\\2</a>"
,$protomail => "<a href=\"\\0\">\\1</a>"
,$mail => "\\1<a href=\"mailto:\\2\">\\2</a>"
);
return preg_replace( array_keys( $replacements ), array_values( $replacements ), $txt );
}
Den fanger også mail, ftp osv...