Foros del Web » Programando para Internet » PHP »

capturar ruta de enlaces con preg_match_all

Estas en el tema de capturar ruta de enlaces con preg_match_all en el foro de PHP en Foros del Web. Saludos a todos. Tengo un string que contiene código html y estoy intentando sacar la ruta de ciertos enlaces. Para ello estoy usando la funcion ...
  #1 (permalink)  
Antiguo 28/11/2010, 06:30
 
Fecha de Ingreso: febrero-2010
Ubicación: Asturias patria querida
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 4
capturar ruta de enlaces con preg_match_all

Saludos a todos.

Tengo un string que contiene código html y estoy intentando sacar la ruta de ciertos enlaces. Para ello estoy usando la funcion preg_match_all pero no hay forma, no sé si esque no estoy escribiendo bien el patrón o que pasa.

Solamente quiero coger los enlaces que empiezan por http://www.xunta.es/Dog así que utilizo el siguiente código:

Código PHP:
$expresion '/(?:<a href="http:\/\/www\.xunta\.es\/Dog)(.*)(?:">)/';
preg_match_all($expresion,$texto,$enlaces);

foreach(
$enlaces[1] as $enlace){
    echo 
$enlace.'<br />';

Lo que me está pasando es que solo me encuentra 1 resultado, que empieza donde debe pero abarca todo el resto del string, no con el cierre de la etiqueta.

Agradecería un poco de ayuda.
  #2 (permalink)  
Antiguo 28/11/2010, 12:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: capturar ruta de enlaces con preg_match_all

deberías usar (.*?) en lugar de (.*), ya que la expresión así es muy codiciosa...

te invito a leer lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: enlaces, ruta
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 08:16.