Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Crawler.php

function Crawler::parseXhtml

1 call to Crawler::parseXhtml()
Crawler::parseHtmlString in vendor/symfony/dom-crawler/Crawler.php
Parse string into DOMDocument object using HTML5 parser if the content is HTML5 and the library is available. Use libxml parser otherwise.

File

vendor/symfony/dom-crawler/Crawler.php, line 1082

Class

Crawler
Crawler eases navigation of a list of \DOMNode objects.

Namespace

Symfony\Component\DomCrawler

Code

private function parseXhtml(string $htmlContent, string $charset = 'UTF-8') : \DOMDocument {
    if ('UTF-8' === $charset && preg_match('//u', $htmlContent)) {
        $htmlContent = '<?xml encoding="UTF-8">' . $htmlContent;
    }
    else {
        $htmlContent = $this->convertToHtmlEntities($htmlContent, $charset);
    }
    $internalErrors = libxml_use_internal_errors(true);
    $dom = new \DOMDocument('1.0', $charset);
    $dom->validateOnParse = true;
    if ('' !== trim($htmlContent)) {
        @$dom->loadHTML($htmlContent);
    }
    libxml_use_internal_errors($internalErrors);
    return $dom;
}
RSS feed
Powered by Drupal