public static Html::load($html)
Parses an HTML snippet and returns it as a DOM object.
This function loads the body part of a partial (X)HTML document and returns a full \DOMDocument object that represents this document.
Use \Drupal\Component\Utility\Html::serialize() to serialize this \DOMDocument back to a string.
Parameters
string $html: The partial (X)HTML snippet to load. Invalid markup will be corrected on import.
Return value
\DOMDocument A \DOMDocument that represents the loaded (X)HTML snippet.
File
- core/lib/Drupal/Component/Utility/Html.php, line 271
Class
- Html
- Provides DOMDocument helpers for parsing and serializing HTML strings.
Namespace
Drupal\Component\Utility
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public static function load( $html ) { $document = <<<EOD <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > <head><meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /></head> <body>!html</body> </html> EOD; // PHP's \DOMDocument serialization adds extra whitespace when the markup // of the wrapping document contains newlines, so ensure we remove all // newlines before injecting the actual HTML body to be processed. $document = strtr ( $document , array ( "\n" => '' , '!html' => $html )); $dom = new \DOMDocument(); // Ignore warnings during HTML soup loading. @ $dom ->loadHTML( $document ); return $dom ; } |
Please login to continue.