PHP Velho Oeste 2025

Dom\HTMLDocument::createFromString

(PHP 8 >= 8.4.0)

Dom\HTMLDocument::createFromStringAnalisa um documento HTML a partir de uma string

Descrição

public static Dom\HTMLDocument::createFromString(string $source, int $options = 0, ?string $overrideEncoding = null): Dom\HTMLDocument

Analisa um documento HTML a partir de uma string, de acordo com o padrão vigente.

Parâmetros

source
A string contendo o HTML a ser analisado.
options

Bit a bit OR das constantes de opções da libxml.

Também é possível passar Dom\HTML_NO_DEFAULT_NS para desabilitar o uso do namespace HTML e o elemento modelo. Isto só deve ser usado se as implicações forem adequadamente compreendidas.
overrideEncoding
A codificação na qual o documento foi criado. Se não informada, tentará determinar a codificação que é mais comumente usada.

Valor Retornado

O documento analisado como uma instância de Dom\HTMLDocument.

Erros/Exceções

  • Lança uma exceção ValueError se options contiver uma opção inválida.
  • Lança uma exceção ValueError s overrideEncoding for uma codificação desconhecida.

Exemplos

Exemplo #1 Exemplo de Dom\HTMLDocument::createFromString()

Analisa um documento.

<?php
$dom
= Dom\HTMLDocument::createFromString(<<<'HTML'
<!DOCTYPE html>
<html>
<body>
<p>Hello, world!</p>
</body>
</html>
HTML);
echo
$dom->saveHtml();
?>

O exemplo acima produzirá:

<!DOCTYPE html><html><head></head><body>
    <p>Hello, world!</p>

</body></html>

Notas

Nota: Espaço em branco nas etiquetas html e head não é considerado significativo e pode perder a formatação.

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
1
kawewong at gmail dot com
11 days ago
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);
?>
To Top