preg_replace med links fungerer ikke ordenligt
Godaften folkens..Jeg sidder og leger med preg_replace funktionen, da jeg vil have den til at lave tekst med (http://, www, og http://www) om til hyperlinks..
Funktionen ser sådan her ud:
function text_url($str) {
$ins_str = "";
$str = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "<a href=\"\\1://\\2\" target=\"_blank\" class=\"alternative\"".$ins_str.">\\1://\\2</a>", $str);
$str = preg_replace ("/(\s|tp\:|\(|\[|\>)(www\.)([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"http://\\2\\3\" target=\"_blank\" class=\"alternative\"".$ins_str.">\\2\\3</a>", $str);
return $str;
}
Problemet er at den kun laver to af de ovennævnte typer om til links:
http://www.test.dk <- den virker
http://test.dk <- den virker
www.test.dk <- den virker ikke
Hvordan gør jeg således at sidste eksempel også automatisk bliver lavet om til et link?
