Code Duplication    Length = 37-38 lines in 2 locations

src/voku/helper/SimpleHtmlDom.php 1 location

@@ 150-187 (lines=38) @@
147
     *
148
     * @return SimpleHtmlDomInterface
149
     */
150
    protected function replaceChildWithString(string $string): SimpleHtmlDomInterface
151
    {
152
        if (!empty($string)) {
153
            $newDocument = new HtmlDomParser($string);
154
155
            $tmpDomString = $this->normalizeStringForComparision($newDocument);
156
            $tmpStr = $this->normalizeStringForComparision($string);
157
            if ($tmpDomString !== $tmpStr) {
158
                throw new \RuntimeException(
159
                    'Not valid HTML fragment!' . "\n" .
160
                    $tmpDomString . "\n" .
161
                    $tmpStr
162
                );
163
            }
164
        }
165
166
        if (\count($this->node->childNodes) > 0) {
167
            foreach ($this->node->childNodes as $node) {
168
                $this->node->removeChild($node);
169
            }
170
        }
171
172
        if (!empty($newDocument)) {
173
            $newDocument = $this->cleanHtmlWrapper($newDocument);
174
            $ownerDocument = $this->node->ownerDocument;
175
            if (
176
                $ownerDocument !== null
177
                &&
178
                $newDocument->getDocument()->documentElement !== null
179
            ) {
180
                $newNode = $ownerDocument->importNode($newDocument->getDocument()->documentElement, true);
181
                /** @noinspection UnusedFunctionResultInspection */
182
                $this->node->appendChild($newNode);
183
            }
184
        }
185
186
        return $this;
187
    }
188
189
    /**
190
     * Replace this node.

src/voku/helper/SimpleXmlDom.php 1 location

@@ 138-174 (lines=37) @@
135
     *
136
     * @return SimpleXmlDomInterface
137
     */
138
    protected function replaceChildWithString(string $string): SimpleXmlDomInterface
139
    {
140
        if (!empty($string)) {
141
            $newDocument = new XmlDomParser($string);
142
143
            $tmpDomString = $this->normalizeStringForComparision($newDocument);
144
            $tmpStr = $this->normalizeStringForComparision($string);
145
            if ($tmpDomString !== $tmpStr) {
146
                throw new \RuntimeException(
147
                    'Not valid HTML fragment!' . "\n" .
148
                    $tmpDomString . "\n" .
149
                    $tmpStr
150
                );
151
            }
152
        }
153
154
        if (\count($this->node->childNodes) > 0) {
155
            foreach ($this->node->childNodes as $node) {
156
                $this->node->removeChild($node);
157
            }
158
        }
159
160
        if (!empty($newDocument)) {
161
            $ownerDocument = $this->node->ownerDocument;
162
            if (
163
                $ownerDocument !== null
164
                &&
165
                $newDocument->getDocument()->documentElement !== null
166
            ) {
167
                $newNode = $ownerDocument->importNode($newDocument->getDocument()->documentElement, true);
168
                /** @noinspection UnusedFunctionResultInspection */
169
                $this->node->appendChild($newNode);
170
            }
171
        }
172
173
        return $this;
174
    }
175
176
    /**
177
     * Replace this node.