Dom\HTMLDocument::createFromString

(PHP 8 >= 8.4.0)

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

Beschreibung

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.

Parameter-Liste

source
The string containing the HTML to parse.
options

Bitweises OR von libxml-Konstanten für weitere Optionen.

Es ist auch möglich, Dom\HTML_NO_DEFAULT_NS zu übergeben, um die Verwendung des HTML-Namensraums und des Template-Elements zu deaktivieren. Diese Option sollte nur verwendet werden, wenn die Auswirkungen genau verstanden werden.
overrideEncoding
Die Kodierung, in der das Dokument erstellt wurde. Wenn nicht angegeben, wird versucht, die wahrscheinlichste Kodierung zu ermitteln.

Rückgabewerte

The parsed document as an Dom\HTMLDocument instance.

Fehler/Exceptions

  • Wenn options eine ungültige Option enthält, wird ein ValueError ausgelöst.
  • Wenn overrideEncoding eine unbekannte Kodierung ist, wird ein ValueError ausgelöst.

Beispiele

Beispiel #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();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

</body></html>

Anmerkungen

Hinweis: Leerzeichen innerhalb der Tags html und head werden als unbedeutend angesehen und können die Formatierung verlieren.

Siehe auch

add a note

User Contributed Notes 1 note

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