tengo esta expresion regular, que actualmente detecta alguna url y la convierte en link! dentro de una cadena de texto! pero necesito saber como la modifico para que a parte de convertir en link las url, el texto normal que no convierte en link. Tambien lo convierta en link pero a una direccion especifica.
Es para los tags de mi web. Para que al hacer click si es un link externo, vaya a otra pagina. Si es un texto normal pues sea convertido en link interno de la pagina.
Gracias.
Aca el codigo.
Código PHP:
function replace_urls($string){
$host = "([a-z\d][-a-z\d]*[a-z\d]\.)+[a-z][-a-z\d]*[a-z]";
$port = "(:\d{1,})?";
$path = "(\/[^?<>\#\"\s]+)?";
$query = "(\?[^<>\#\"\s]+)?";
return preg_replace("#((ht|f)tps?:\/\/{$host}{$port}{$path}{$query})#i", "<a target='_blank' href='$1'>$1</a>", $string);
}