preserveWhiteSpace = true; $doc->formatOutput = true; $xml = \file_get_contents($path); if ($xml === false || $xml === null) { return ''; } $xml = \preg_replace( ['~~', '~~'], ['', ''], $xml ); if ($xml === null) { return ''; } $result = $doc->loadXML($xml); if ($result === false) { return ''; } if (empty($xpath)) { $result = $doc->saveHTML(); return $result === false ? '' : $result; } $content = ''; $xNode = new \DOMXpath($doc); $elements = $xNode->query($xpath); if ($elements === false) { return $content; } foreach ($elements as $element) { $nodes = $element->childNodes; foreach ($nodes as $node) { $content .= $node->textContent . "\n"; } } return $content; } }