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\DomCrawlerCode
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;
}