(PHP 8 >= 8.4.0)
Dom\HTMLDocument::createFromString — Analiza un documento HTML a partir de un string
$source, int $options = 0, ? string $overrideEncoding = null ): Dom\HTMLDocument Analiza un documento HTML a partir de un string, según la norma vigente.
sourceEl string que contiene el HTML a analizar.
options
Operación a nivel de bits OR
de las constantes de opción libxml.
También es posible pasar Dom\HTML_NO_DEFAULT_NS
para desactivar el uso del espacio de nombres HTML y del elemento template.
Esto solo debería ser utilizado si las implicaciones son correctamente comprendidas.
overrideEncodingEl codificado en el cual el documento fue creado. Si no se proporciona, intentará determinar el codificado más probable utilizado.
El documento analizado en forma de una instancia de Dom\HTMLDocument .
Levanta una excepción ValueError si
options contiene una opción inválida.
Levanta una excepción ValueError si
overrideEncoding utiliza un codificado desconocido.
Ejemplo #1 Ejemplo de Dom\HTMLDocument::createFromString()
Analiza un documento de ejemplo.
<?php
$dom = Dom\HTMLDocument::createFromString(<<<'HTML'
<!DOCTYPE html>
<html>
<body>
<p>Hello, world!</p>
</body>
</html>
HTML);
echo $dom->saveHtml();
?>El ejemplo anterior mostrará:
<!DOCTYPE html><html><head></head><body> <p>Hello, world!</p> </body></html>
Nota:
Los espacios en blanco en las etiquetas
htmlyheadno son considerados significativos y pueden perder su formato.
To load HTML without doctype, html, body elements use `LIBXML_HTML_NOIMPLIED` flag.
<?php
$html = <<<EOT
<div class="row">
<div class="col"><h1 id="heading" class="col1-heading">Hello</h1></div>
<div class="col"><p class="paragraph">Hello world.</p>
</div>
EOT;
$doc = \DOM\HTMLDocument::createFromString($html, LIBXML_HTML_NOIMPLIED);
echo htmlspecialchars($doc->saveHTML(), ENT_QUOTES);
?>