tag parser parse name loadhtml ejemplo php html dom

name - php dom parser



ManipulaciĆ³n DOM en PHP (4)

Descubrí que PHP HTML simple DOM es la biblioteca más útil y directa hasta el momento. Mejor que PECL diría.

He escrito un artículo sobre cómo usarlo para raspar las fechas de los conciertos de myspace artist (solo un ejemplo). Aquí hay un enlace al analizador php simple html dom.

Estoy buscando buenos métodos para manipular HTML en PHP. Por ejemplo, el problema que tengo actualmente es lidiar con html malformado.

Recibo una opinión que se ve así:

<div>This is some <b>text

Como habrás notado, al html le faltan etiquetas de cierre. Podría usar regex o un analizador XML para resolver este problema. Sin embargo, es probable que tenga que hacer otras manipulaciones DOM en el futuro. Me pregunto si hay algunas buenas bibliotecas de PHP que manejen la manipulación DOM similar a cómo Javascript trata con la manipulación DOM.


La biblioteca DOM que ahora está incorporada puede resolver este problema fácilmente. El método loadHTML aceptará XML mal formado mientras que el método de carga no lo hará.

$d = new DOMDocument; $d->loadHTML(''<div>This is some <b>text''); $d->saveHTML();

El resultado será:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html> <body> <div>This is some <b>text</b></div> </body> </html>


PHP tiene una extensión PECL que le da acceso a las funciones de HTML Tidy . Tidy es una biblioteca bastante poderosa que debería poder tomar un código como ese y cerrar etiquetas de manera inteligente.

Lo uso para limpiar XML y HTML malformados que me envió un sistema de anuncios clasificados antes de la importación.


Para manipular el DOM, creo que lo que estás buscando es esto . He utilizado para analizar documentos HTML desde la web y funcionó bien para mí.