Algunas veces los proyectos tienen necesidades de programación específicas o especiales, y tienes dos opciones: programar todo el ecosistema, o aprovechar bibliotecas, o frameworks ya existentes. Una de estas bibliotecas, que puedes integrar en tu caja de herramientas es QueryPath, de Matt Butcher.
QueryPath es una biblioteca de PHP puro que te permite trabajar con XML (incluyendo RSS o SVG) y HTML como si estuvieras utilizando las bibliotecas de búsqueda y manipulación de JQuery, pero desde el lado del servidor. Solo tienes que bajarla de su sitio web oficial. QueryPath utiliza los selectores de CSS3 y CSS4 y soporta también HTML5.
La función principal de QueryPath es la función qp() que es como la función $ de jQuery. También tienes la función htmlqp() que te permite lidiar con HTML “defectuoso”.
¿Cómo funciona QueryPath?
Un objeto de QueryPath se asocia a un solo documento de HTML o XML. QueryPath realiza la consulta del documento, identificando lo que tú quieres dentro de este documento. Luego puedes manipular el documento, agregando nuevas partes, modificando o eliminando partes existentes. Como los métodos de QueryPath se pueden encadenar, en pocas líneas de código puedes cargar,analisar, consultar, modificar y escribir un documento.
Ejemplo Básico
require 'QueryPath/QueryPath.php';
qp(documento.html')->find('title')->text(Hola Mundo')->writeHTML();
¿Qué se puede hacer con QueryPath?
QueryPath no es JQuery, ni Vanilla JS, no puedes por ejemplo, crear partes de un documento (sin las etiquetas <html> y <body>), pero aún así los resultados que puedes obtener son realmente interesantes!
Creo que ya te puedes hacer una idea de lo que se puede hacer pero te dejo algunas de las más usuales:
- Consultar documentos HTML locales o documentos con Servicios web y base de datos.
- Aprovechar código HTML antiguo i migrar para algún CMS.
- Trabajar con APIs REST
- Realizar consultas a base de datos XML
- Maquetar con plantillas HTML y fuente de datos XML
- Suscribirse a feeds Atom, RSS y XML
- Realizar análisis sobre el SEO de diferentes sitios web.
- Crear páginas HTML o XML a partir de código
En el sitio web de QueryPath puedes encontrar la documentación y muchos ejemplos con los que puedes aprender. Además QueryPath es extensible y gracias a su arquitectura basada en plugins, puedes integrar tu propio código de forma fácil y enriquecer las funcionalidades de QueryPath. Si utilizas Drupal puedes experimentar también el módulo desarrollado para QueryPath.
Fuentes