Code Duplication    Length = 23-23 lines in 2 locations

src/voku/helper/HtmlDomParser.php 1 location

@@ 306-328 (lines=23) @@
303
            }
304
        }
305
306
        if ($documentFound === false) {
307
308
            // UTF-8 hack: http://php.net/manual/en/domdocument.loadhtml.php#95251
309
            $xmlHackUsed = false;
310
            if (\stripos('<?xml', $html) !== 0) {
311
                $xmlHackUsed = true;
312
                $html = '<?xml encoding="' . $this->getEncoding() . '" ?>' . $html;
313
            }
314
315
            $this->document->loadHTML($html, $optionsXml);
316
317
            // remove the "xml-encoding" hack
318
            if ($xmlHackUsed) {
319
                foreach ($this->document->childNodes as $child) {
320
                    if ($child->nodeType === \XML_PI_NODE) {
321
                        /** @noinspection UnusedFunctionResultInspection */
322
                        $this->document->removeChild($child);
323
324
                        break;
325
                    }
326
                }
327
            }
328
        }
329
330
        // set encoding
331
        $this->document->encoding = $this->getEncoding();

src/voku/helper/XmlDomParser.php 1 location

@@ 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
            if (\stripos('<?xml', $xml) !== 0) {
152
                $xmlHackUsed = true;
153
                $xml = '<?xml encoding="' . $this->getEncoding() . '" ?>' . $xml;
154
            }
155
156
            $this->document->loadXML($xml, $optionsXml);
157
158
            // remove the "xml-encoding" hack
159
            if ($xmlHackUsed) {
160
                foreach ($this->document->childNodes as $child) {
161
                    if ($child->nodeType === \XML_PI_NODE) {
162
                        /** @noinspection UnusedFunctionResultInspection */
163
                        $this->document->removeChild($child);
164
165
                        break;
166
                    }
167
                }
168
            }
169
        }
170
171
        // set encoding
172
        $this->document->encoding = $this->getEncoding();