Preg_match_all

  • Autor Autor xmatias
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
X

xmatias

Gamma
Verificación en dos pasos activada
Estoy intentando parseas un codigo html como el siguiente:

Inserir CODE, HTML ou PHP:
<dt>Sinopsis</dt>
        <dd>En el verano de 1954, los agentes judiciales Teddy Daniels (DiCaprio) y Chuck Aule (Ruffalo) son destinados a una remota isla del puerto de Boston para investigar la desaparición de una peligrosa asesina (Mortimer) que estaba recluida en el hospital psiquiátrico Ashecliffe, un centro penitenciario para criminales perturbados dirigido por el siniestro doctor John Cawley (Kingsley). Pronto descubrirán que el centro guarda muchos secretos y que la isla esconde algo más peligroso que los pacientes. Thriller psicológico basado en la novela homónima de Dennis Lehane (autor de &quot;Mystic River&quot; y &quot;Gone Baby Gone&quot;). (FILMAFFINITY)</dd>

y necesito obtener el contenido de la etiqueta dd ¿cómo lo hago? estaba probando esto pero no me funcionó:

PHP:
preg_match_all("(<dt>Sinopsis</dt><dd>(.*)</dd>)siU", $result, $sinopsis);

Saludos y gracias :encouragement:
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
¿Es esto lo que precisas?
PHP:
$etiqueta = '<dt>Sinopsis</dt><dd>En el verano de 1954, los agentes judiciales Teddy Daniels (DiCaprio) y Chuck Aule (Ruffalo) son destinados a una remota isla del puerto de Boston para investigar la desaparición de una peligrosa asesina (Mortimer) que estaba recluida en el hospital psiquiátrico Ashecliffe, un centro penitenciario para criminales perturbados dirigido por el siniestro doctor John Cawley (Kingsley). Pronto descubrirán que el centro guarda muchos secretos y que la isla esconde algo más peligroso que los pacientes. Thriller psicológico basado en la novela homónima de Dennis Lehane (autor de &quot;Mystic River&quot; y &quot;Gone Baby Gone&quot;). (FILMAFFINITY)</dd>';
        $patronCoincidencia ='/<dd>(.*)</';
        preg_match_all($patronCoincidencia, $etiqueta, $matches);
        print_r($matches);

El contenido se guarda en la posición cero del array $matches.
 
Necesito incluir el <dt>Sinopsis</dt> porque me toma otro dato.
 
Lo más seguro es que no te haya funcionado como lo tienes porque lo pusiste "</dt><dd>" y en el ejemplo que pones hay tanto salto de linea como tabuladores entre "</dt>" y "<dd>", ponle que en ese parte pueda haber saltos de linea y tabuladores.

Saludos.

- - - Actualizado - - -

Con algo como esto, te deberia de funcionar:

PHP:
preg_match_all("(<dt>Sinopsis</dt>\s*<dd>(.*)</dd>)siU", $result, $sinopsis);
 
Lo más seguro es que no te haya funcionado como lo tienes porque lo pusiste "</dt><dd>" y en el ejemplo que pones hay tanto salto de linea como tabuladores entre "</dt>" y "<dd>", ponle que en ese parte pueda haber saltos de linea y tabuladores.

Saludos.

- - - Actualizado - - -

Con algo como esto, te deberia de funcionar:

PHP:
preg_match_all("(<dt>Sinopsis</dt>\s*<dd>(.*)</dd>)siU", $result, $sinopsis);

Muchas gracias :encouragement:
 
Voltar
Topo