Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/04/2014, 12:42
jordi45
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 15 años, 6 meses
Puntos: 2
Poner enlaces php con expresiones regulares y con títulos de forma automática

He visto que algunos foros, te ponen enlaces con expresiones regulares y además te ponen en el anchor del enlace el título del la página del enlace, otros simplemente repiten en el anchor el mismo enlace.

Como se puede aunar las dos cosas sacar los títulos de los enlaces y con expresiones regulares hacer las urls.



Código PHP:

// Sacar las Urls

function extraerURLs($cadena){


   
$regex '/https?\:\/\/[^\" ]+/i';
    
preg_match_all($regex$cadena$partes);
    return (
$partes[0]);
}

$cadena'uuuihhjnn  http:// dominio.com  blba  aaaaa http:// bollos.com  jkm

dkddjfkfnkfsmfpier   http:// alonso.net   jijahdhne'

$urls extraerURLs($cadena);



//Sacar los títulos de los enlaces
     
    
function extraer_title($filtro) {
     
    
$param "|<[s]*title[s]*>([^<]+)<[s]*/[s]*title[s]*>|Ui";
     
    if( 
preg_match($param$filtro$result) ) {
     
                   return 
$result[1];
     
    }else{
     
                   return 
false;
     
    }
     
    }
     
    
$url$urls;
     
    
$recorrer file_get_contents($url);
     
    
$title extraer_title($recorrer);
     
    ****

// hacer la expresión regular para hacer los enlaces

$texto=preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[A-Z0-9+&@#\/%=~_|]/i''<a href="\0" target=_blank>\0</a>'$cadena
Como puedo meter el título extraido con file_get_contents en la expresión regular, dentro de un texto.

O si ya hay un script hecho que lo hace todo a la vez detecta los enlaces y les añade los títulos en el anchor.