Code Duplication    Length = 27-27 lines in 2 locations

src/voku/helper/HtmlDomParser.php 1 location

@@ 931-957 (lines=27) @@
928
     *
929
     * @return HtmlDomParser
930
     */
931
    public function loadHtmlFile(string $filePath, $libXMLExtraOptions = null): self
932
    {
933
        if (
934
            !\preg_match("/^https?:\/\//i", $filePath)
935
            &&
936
            !\file_exists($filePath)
937
        ) {
938
            throw new \RuntimeException("File ${filePath} not found");
939
        }
940
941
        try {
942
            if (\class_exists('\voku\helper\UTF8')) {
943
                /** @noinspection PhpUndefinedClassInspection */
944
                $html = UTF8::file_get_contents($filePath);
945
            } else {
946
                $html = \file_get_contents($filePath);
947
            }
948
        } catch (\Exception $e) {
949
            throw new \RuntimeException("Could not load file ${filePath}");
950
        }
951
952
        if ($html === false) {
953
            throw new \RuntimeException("Could not load file ${filePath}");
954
        }
955
956
        return $this->loadHtml($html, $libXMLExtraOptions);
957
    }
958
959
    /**
960
     * @param string $html

src/voku/helper/XmlParser.php 1 location

@@ 154-180 (lines=27) @@
151
     *
152
     * @return XmlParser
153
     */
154
    public function loadXmlFile(string $filePath, $libXMLExtraOptions = null): self
155
    {
156
        if (
157
            !\preg_match("/^https?:\/\//i", $filePath)
158
            &&
159
            !\file_exists($filePath)
160
        ) {
161
            throw new \RuntimeException("File ${filePath} not found");
162
        }
163
164
        try {
165
            if (\class_exists('\voku\helper\UTF8')) {
166
                /** @noinspection PhpUndefinedClassInspection */
167
                $xml = UTF8::file_get_contents($filePath);
168
            } else {
169
                $xml = \file_get_contents($filePath);
170
            }
171
        } catch (\Exception $e) {
172
            throw new \RuntimeException("Could not load file ${filePath}");
173
        }
174
175
        if ($xml === false) {
176
            throw new \RuntimeException("Could not load file ${filePath}");
177
        }
178
179
        return $this->loadXml($xml, $libXMLExtraOptions);
180
    }
181
182
    /**
183
     * @param callable      $callback