Her hos mig virker det nu fint nok.
<?php
//http://www.eksperten.dk/spm/790633
function text_url($str, $target, $css_class)
{
$ins_str = "";
if($css_class)
$ins_str .= " class=\"".$css_class."\"";
if($target)
$ins_str .= " target=\"".$target."\"";
$str = text_expand($str);
$str = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+[a-z0-9~#%@&:;=!',_æøå\(\)\?\/\-\+\[\]\|\*\$\^\{\}]+)/i", "<a href=\"\\1://\\2\"".$ins_str.">\\1://\\2</a>", $str);
$str = preg_replace ("/(\s|tp\:|\(|\[|\>)(www\.)([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+[a-z0-9~#%@&:;=!',_æøå\(\)\?\/\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"
http://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
$str = preg_replace ("/(\s|tp\:|\(|\[|\>)(ftp\.)([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+[a-z0-9~#%@&:;=!',_æøå\(\)\?\/\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"
ftp://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
return text_reduce($str);
}
function text_expand($str)
{
return " ".$str." ";
}
function text_reduce($str)
{
return substr($str, 1, -1);
}
$text = 'Dette er en tekst, hvor jeg gerne vil linke til
http://www.dr.dk. Men jeg kunne også godt tænke mig en is.';
print text_url($text,"_blank",'default');
?>