Jejejejeje... no caí en lo de las url. Aquí va.
Código PHP:
function parseurl($messagetext)
{ // the auto parser - adds [url] tags around neccessary things
$urlSearchArray = array(
"/([^]_a-z0-9-=\"'\/])((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si",
"/^((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si"
);
$urlReplaceArray = array(
"\\1[url ]\\2\\4[/url ]",
"[url ]\\1\\3[/url ]"
);
$emailSearchArray = array(
"/([ \n\r\t])([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4}))/si",
"/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4}))/si"
);
$emailReplaceArray = array(
"\\1[mail]\\2[/mail]",
"[mail]\\0[/mail]"
);
$text = preg_replace($urlSearchArray, $urlReplaceArray, $messagetext);
if (strpos($text, "@")) {
$text = preg_replace($emailSearchArray, $emailReplaceArray, $text);
}
return $text;
}
NOTA: he puesto un espacio donde las url, así: [url ] y [/url ] para que este foro no las detecte, luego a la hora de la verdad no hay que ponerlos. Por cierto que deshabilitando lo de convertir url no funciona.
Weno, deben ser parecidas, pues las dos cogen el paréntesis pero no la comilla.
Un saludo