| @@ 147-169 (lines=23) @@ | ||
| 144 | } |
|
| 145 | } |
|
| 146 | ||
| 147 | if ($documentFound === false) { |
|
| 148 | ||
| 149 | // UTF-8 hack: http://php.net/manual/en/domdocument.loadhtml.php#95251 |
|
| 150 | $xmlHackUsed = false; |
|
| 151 | /** @noinspection StringFragmentMisplacedInspection */ |
|
| 152 | if (\stripos('<?xml', $xml) !== 0) { |
|
| 153 | $xmlHackUsed = true; |
|
| 154 | $xml = '<?xml encoding="' . $this->getEncoding() . '" ?>' . $xml; |
|
| 155 | } |
|
| 156 | ||
| 157 | $this->document->loadXML($xml, $optionsXml); |
|
| 158 | ||
| 159 | // remove the "xml-encoding" hack |
|
| 160 | if ($xmlHackUsed) { |
|
| 161 | foreach ($this->document->childNodes as $child) { |
|
| 162 | if ($child->nodeType === \XML_PI_NODE) { |
|
| 163 | /** @noinspection UnusedFunctionResultInspection */ |
|
| 164 | $this->document->removeChild($child); |
|
| 165 | ||
| 166 | break; |
|
| 167 | } |
|
| 168 | } |
|
| 169 | } |
|
| 170 | } |
|
| 171 | ||
| 172 | // set encoding |
|
| @@ 322-344 (lines=23) @@ | ||
| 319 | } |
|
| 320 | } |
|
| 321 | ||
| 322 | if ($documentFound === false) { |
|
| 323 | ||
| 324 | // UTF-8 hack: http://php.net/manual/en/domdocument.loadhtml.php#95251 |
|
| 325 | $xmlHackUsed = false; |
|
| 326 | /** @noinspection StringFragmentMisplacedInspection */ |
|
| 327 | if (\stripos('<?xml', $html) !== 0) { |
|
| 328 | $xmlHackUsed = true; |
|
| 329 | $html = '<?xml encoding="' . $this->getEncoding() . '" ?>' . $html; |
|
| 330 | } |
|
| 331 | ||
| 332 | $this->document->loadHTML($html, $optionsXml); |
|
| 333 | ||
| 334 | // remove the "xml-encoding" hack |
|
| 335 | if ($xmlHackUsed) { |
|
| 336 | foreach ($this->document->childNodes as $child) { |
|
| 337 | if ($child->nodeType === \XML_PI_NODE) { |
|
| 338 | /** @noinspection UnusedFunctionResultInspection */ |
|
| 339 | $this->document->removeChild($child); |
|
| 340 | ||
| 341 | break; |
|
| 342 | } |
|
| 343 | } |
|
| 344 | } |
|
| 345 | } |
|
| 346 | ||
| 347 | // set encoding |
|