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>
![borracho](http://static.forosdelweb.com/fdwtheme/images/smilies/borracho.png)
![Serio](http://static.forosdelweb.com/fdwtheme/images/smilies/molesto.png)
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
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)