Dom\HTMLDocument::createFromString

(PHP 8 >= 8.4.0)

Dom\HTMLDocument::createFromStringParses an HTML document from a string

Descrizione

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

Parses an HTML document from a string, according to the living standard.

Elenco dei parametri

source
The string containing the HTML to parse.
options

Bitwise OR of the libxml option constants.

It is also possible to pass Dom\HTML_NO_DEFAULT_NS to disable the use of the HTML namespace and the template element. This should only be used if the implications are properly understood.
overrideEncoding
The encoding that the document was created in. If not provided, it will attempt to determine the encoding that is most likely used.

Valori restituiti

The parsed document as an Dom\HTMLDocument instance.

Errori/Eccezioni

  • Throws a ValueError if options contains an invalid option.
  • Throws a ValueError if overrideEncoding is an unknown encoding.

Esempi

Example #1 Dom\HTMLDocument::createFromString() example

Parses a sample document.

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

Il precedente esempio visualizzerà:

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

</body></html>

Note

Nota: Whitespace in the html and head tags is not considered significant and may lose formatting.

Vedere anche:

add a note

User Contributed Notes 1 note

up
1
kawewong at gmail dot com
30 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