Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2006, 04:05
FITIPALDIs
 
Fecha de Ingreso: noviembre-2003
Mensajes: 18
Antigüedad: 20 años, 5 meses
Puntos: 0
Patron para buscar enlaces [regex]

Hola, que tal?

Mi problema es el siguiente:

Tengo el siguiente pagron para buscar enlaces

$patron="/(<a([^>]*)>)(.+)(<\/a( .*)?>)/i";
preg_match_all($patron, $codHTML, $coincidencias, PREG_SET_ORDER);

Creia que funcionaba bien, pero al aplicarlo a cierto codigo HTML he detectado un error:

Al aplicarlo a:

Código:
<a hef="htp://ebay.es/sitemap.html">mapa del sitio</a> | <a href="htp://pages.ebay.es/index.html">preguntanos</a>
el resultado es:

Código:
Array
(
    [0] => Array
        (
            [0] => htp://ebay.es/sitemap.html
            [1] => mapa del sitio / |  preguntanos
        )

)

Sim embargo, si hago un intro, despues de la etiqueta ../a> y antes de la siguiente <a ...

Código:
<a hef="ttp://ebay.es/sitemap.html">mapa del sitio</a>
 | <a hef="htp://pages.ebay.es/index.html">preguntanos</a>
ó

Código:
<a href="htp://ebay.es/sitemap.html">mapa del sitio</a> |
 <a hef="htp://pages.ebay.es/index.html">preguntanos</a>
ó

...

pues funciona perfectamente y saca como resultado:

Código:
Array
(
    [0] => Array
        (
            [0] => htp://ebay.es/sitemap.html
            [1] => mapa del sitio
        )

    [1] => Array
        (
            [0] => htp://pages.ebay.es/index.html
            [1] => preguntanos
        )

)
Por mucho que sigo mirando no encuentro porque si dejo un intro si que funciona pero si hay cualquier caracter, no
__________________
www.MadridVsBarsa.es.vg