(PHP 5, PHP 7, PHP 8)
DOMDocument::loadHTML — Carga HTML de un string
Esta función procesa el HTML contenido un string source.
A diferencia a cargar XML, HTML no tiene que estar bien formado para cargarse.
Utilice Dom\HTMLDocument para analizar y tratar el HTML moderno en lugar de DOMDocument.
Esta función analiza la entrada utilizando un analizador HTML 4. Las reglas de análisis del HTML 5, que son las utilizadas por los navegadores web modernos, son diferentes. Según la entrada, esto puede resultar en una estructura DOM diferente. Por lo tanto, esta función no puede ser utilizada de forma segura para la sanitización del HTML.
El comportamiento durante el análisis del HTML puede depender de la versión de
libxml que se utilice, especialmente en lo que respecta
a los casos límite y el manejo de errores.
Para un análisis conforme a la especificación HTML5,
utilice Dom\HTMLDocument::createFromString() o
Dom\HTMLDocument::createFromFile(), añadidos en PHP 8.4.
Por ejemplo, algunos elementos HTML cerrarán implícitamente un elemento padre cuando sean encontrados. Las reglas de cierre automático de elementos padres difieren entre HTML 4 y HTML 5, y por lo tanto, la estructura DOM que DOMDocument ve puede ser diferente de la que un navegador web ve, lo que puede permitir potencialmente a un atacante comprometer el HTML resultante.
sourceUn string HTML.
optionsOperación de 'OR' lógica de las constantes de opción libxml.
Si se pasa una cadena vacía como source,
se generará una advertencia. Esta advertencia no es generada por libxml
y no puede ser manejada utilizando las funciones de control de errores de libxml.
Aunque el HTML mal-formado debería cargarse con éxito, esta función puede generar
una advertencia de tipo E_WARNING cuando encuentre una mala etiqueta.
Las funciones de manejo de errores libxml
pueden ser utilizadas para manejar estos errores.
| Versión | Descripción |
|---|---|
| 8.3.0 | Esta función ahora tiene un tipo de retorno bool tentativo. |
| 8.0.0 |
Llamar a esta función de forma estática
ahora lanzará un Error.
Anteriormente, se emitía un E_DEPRECATED.
|
Ejemplo #1 Creando un Documento
<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>