Hola, estoy utilizando una función para reemplazar links por el famoso bbcode
url.
Ejem:
http://www.google.com reemplaza por
[url=http://www.google.com]http://www.google.com[/url]
Código PHP:
function urlParseBB($s){ // function callback
return "[url=$s[1]]" . $s[1] ."[/url]";
}
function linksToBBcode($s){
return preg_replace_callback('/(http:\/\/[\w\/*\?*\&*\=*\.*]+)/i','urlParseBB',$s);
}
Ejemplo:
Código PHP:
$text = '
Link normal: http://www.google.com
Link ya parseado: [url=http://www.forosdelweb.com]http://www.forosdelweb.com[/url]
';
echo linksToBBcode($text);
Con las funciones todo bien, pero la expresión (http:\/\/[\w\/*\?*\&*\=*\.*]+)/i es la que uso ahora y no es la adecuada, me gustaría que ignorara los links que ya estén parseados como lo esta "forosdelweb.com", prácticamente me interesa saber que hace falta en la expresión para que no parsee los links que ya tienen el tag [url].
Un saludo y Gracias

.