Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2004, 11:09
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
expresiones regulares: Sacar los links de una pagina

Hola de nuevo. Yo soy yo y las expresiones regulares son las expresiones regulares, y digamos que somos bastante incompatibles :-p .

Bueno mi proyecto era sacar los links de una pagina, un documento cualquiera. La idea es sacar el codigo fuente y luego que las expresiones regulares hagan el resto, sacandome limpiamente el destino del link y el texto que tiene el destino. El codigo es:

Código PHP:
<?php

$pagInicial
="http://www.regular-expression.info/";
$regExp="/<a.{1,}href=\"?([a-zA-Z:\.\/]*)\"?.{0,}>(.*)<\/a>/i";

$code=join("",file($pagInicial));
preg_match_all($regExp,$code,$matches);

$encontrados=$matches;
$nCoincidencias=count($encontrados[1]);
echo 
$nCoincidencias." coincidencias encontradas<br>";
?><ol><?
for($a=0;$a<$nCoincidencias;$a++) {
    echo 
"<li>".$encontrados[1][$a]." (".$encontrados[2][$a].")</li>";
}
?></ol>

<p>La pagina original es:</p>

<p><iframe src="<?=$pagInicial?>" width="100%" height="100%"></iframe>
Y viene totalmente completo, con los ejemplos y la pagina de la que se intenta sacar los links (que casualmente es una pagina de expresiones regulares ). Bueno yo tenia un documento mio, pero como que no es plan de mandarlo tambien para ver el ejemplo .

Bueno, creo que el problema esta claro. Tendria que encontrar muchas coincidencias y solo encuentra dos. Obviamente este es un fallo de expresiones regulares, pero no consigo solucionarlo por muchas pruebas que he realizado.


A ver si a alguien se le ocurre algo. Abierto a sugerencias de todo tipo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.