Jeg har fundet dette script tidligere, som jeg så igen har redigeret via en smule hjælp her fra exp.dk
Prøv:
function text_url($str){
$ins_str = "";
$ins_str .= " target=\"_blank\"";
$str = preg_replace_callback ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\%\^\{\}]+)/i", create_function('$matches','if( strlen($matches[2]) > 25 ) $name = substr($matches[2],0,25) . ".."; else $name = $matches[2]; return "<a".$ins_str." href=\"{$matches[1]}://{$matches[2]}\">$name</a>";'),$str);
$str = preg_replace_callback ("/(\s|tp\:|\(|\[|\>)(www\.)([a-z0-9~#&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\%\^\{\}]+)/i", create_function('$matches','if( strlen($matches[3]) > 25 ) $name = substr($matches[3],0,25) . ".."; else $name = $matches[3]; return "<a".$ins_str." href=\"
http://$matches[2]$matches[3]\">$name</a>";'), $str);
$str = preg_replace_callback ("/(\s|tp\:|\(|\[|\>)(ftp\.)([a-z0-9~#&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\%\^\{\}]+)/i", create_function('$matches','if( strlen($matches[3]) > 25 ) $name = substr($matches[3],0,25) . ".."; else $name = $matches[3]; return "<a".$ins_str." href=\"
ftp://$matches[2]$matches[3]\">$name</a>";'), $str);
return $str;
}