Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/07/2003, 14:59
nma2040
 
Fecha de Ingreso: julio-2003
Ubicación: Mexico
Mensajes: 12
Antigüedad: 21 años, 4 meses
Puntos: 0
[PHP] Ayuda preg_replace();

Hola a todos tengo una duda con el comando preg_replace estoy haciendo una función que cambie una url por un link automáticamente el código es el siguiente

<?
function busca_url($_valor='')
{
$_remplazado = preg_replace("/(http:\/\/\S+)|( ftp:\/\/\S+)/i ","<a href='\\01\\02'>\\01\\02</a>\n",$_valor);
$_remplazado = preg_replace("/(\w+@\S+)/i","<a href='mailto:\\01'>\\01</a>\n",$_remplazado);
return $_remplazado;
}
echo busca_url('aquí debe haber una url http://nxtch-template.webcindario.com webmaster: [email protected]');
echo "<br><br>";
?>

Todo funciona correctamente la url es transformada en un link pero cuando la cadena ya es un link por ejemplo

echo busca_url('aquí debe haber una url <a href="http://algo.com">algo</a><br>');

El script me devuelve
aquí debe haber una url algo.com'>http://algo.com">algo.com
y en el código me devuelve:
aquí debe haber una url <a href="<a href='http://algo.com">algo.com</a>'>http://algo.com">algo.com</a></a>
que puedo hacer para evitar que haga el reemplazo cuando el <a href exista?