Foros del Web » Programando para Internet » PHP »

Parseo de enlaces (exp reg)

Estas en el tema de Parseo de enlaces (exp reg) en el foro de PHP en Foros del Web. Amigos: tengo un problema con el parseo de enlaces.... y es el siguiente: todo va bien si no hay un title o algo por el ...
  #1 (permalink)  
Antiguo 08/07/2009, 20:06
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Pregunta Parseo de enlaces (exp reg)

Amigos: tengo un problema con el parseo de enlaces.... y es el siguiente: todo va bien si no hay un title o algo por el estilo.

Código PHP:
<?
$contenido
='Hola <a    href="http://www.mundo.es"    >Mundo</a> loco';

preg_match("|<a[ ]+href=['\"](.*?)['\"][ ]{0,}>(.*?)</a>|is",$contenido,$matches);

echo 
'<pre>';
print_r ($matches);
echo 
'</pre>';

?>
Lo que busco es que si hay uno o mas "detalles" (title, relnofollow,etc), sean ignorados.

Gracias!
__________________
Salu2!
  #2 (permalink)  
Antiguo 08/07/2009, 20:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Parseo de enlaces (exp reg)

prueba esto...

Código php:
Ver original
  1. /<a[\S\s]+href=([\'\"])(.+?)(\\1)[^>]*>(.+?)<\/a>/Uis
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/07/2009, 20:37
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Ok, no era tan dificil

Código code:
Ver original
  1. <?php
  2. $contenido='Hola <a    href="http://www.mundo.es"  title="cualquier fruta" rel='nofollow'  ><img src="pepe.jpg"/></a> loco';
  3. $contenido =str_replace("\"" , "'" ,$contenido);  //reemplazo comillas dobles [ chr(34) ] por simples para simplificar expr reg
  4.  
  5. preg_match("|<a[ ]+href='(.*?)'[ ]{0,}>(.*?)</a>|is",$contenido,$matches);
  6.  
  7. $dos    = explode(chr(39),$matches[1]);
  8. $anchor = $matches[2];
  9.  
  10. $anchor = $dos[0]; // puede ser texto o una imagen
  11. ?>
Ahora si... parseo 10 puntos :)

GRACIAS PATE!!!!! lo voy a probar
__________________
Salu2!

Última edición por GatorV; 08/07/2009 a las 20:45
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:18.