From cd174c7e2209d975da5de8869ec0cd55955e3a52 Mon Sep 17 00:00:00 2001 From: dag Date: Tue, 29 Mar 2022 22:44:20 +0200 Subject: [PATCH] [DanbooruBridge] refactor: remove unnecessary fork of simplehtmldom (#2550) --- bridges/DanbooruBridge.php | 71 +------------------------------------- 1 file changed, 1 insertion(+), 70 deletions(-) diff --git a/bridges/DanbooruBridge.php b/bridges/DanbooruBridge.php index 4f29ec6c..9e9606ed 100644 --- a/bridges/DanbooruBridge.php +++ b/bridges/DanbooruBridge.php @@ -57,79 +57,10 @@ class DanbooruBridge extends BridgeAbstract { } public function collectData(){ - $content = getContents($this->getFullURI()); - - $html = Fix_Simple_Html_Dom::str_get_html($content); + $html = getSimpleHTMLDOMCached($this->getFullURI()); foreach($html->find(static::PATHTODATA) as $element) { $this->items[] = $this->getItemFromElement($element); } } } - -/** - * This class is a monkey patch to 'extend' simplehtmldom to recognize - * tags (HTML5) as self closing tag. This patch should be removed once - * simplehtmldom was fixed. This seems to be a issue with more tags: - * https://sourceforge.net/p/simplehtmldom/bugs/83/ - * - * The tag itself is valid according to Mozilla: - * - * The HTML element serves as a container for zero or more - * elements and one element to provide versions of an image for different - * display device scenarios. The browser will consider each of the child - * elements and select one corresponding to the best match found; if no matches - * are found among the elements, the file specified by the - * element's src attribute is selected. The selected image is then presented in - * the space occupied by the element. - * - * -- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture - * - * Notice: This class uses parts of the original simplehtmldom, adjusted to pass - * the guidelines of RSS-Bridge (formatting) - */ -final class Fix_Simple_Html_Dom extends simple_html_dom { - - /* copy from simple_html_dom, added 'source' at the end */ - protected $self_closing_tags = array( - 'img' => 1, - 'br' => 1, - 'input' => 1, - 'meta' => 1, - 'link' => 1, - 'hr' => 1, - 'base' => 1, - 'embed' => 1, - 'spacer' => 1, - 'source' => 1 - ); - - /* copy from simplehtmldom, changed 'simple_html_dom' to 'Fix_Simple_Html_Dom' */ - public static function str_get_html($str, - $lowercase = true, - $forceTagsClosed = true, - $target_charset = DEFAULT_TARGET_CHARSET, - $stripRN = true, - $defaultBRText = DEFAULT_BR_TEXT, - $defaultSpanText = DEFAULT_SPAN_TEXT) - { - $dom = new Fix_Simple_Html_Dom(null, - $lowercase, - $forceTagsClosed, - $target_charset, - $stripRN, - $defaultBRText, - $defaultSpanText); - - if (empty($str) || strlen($str) > MAX_FILE_SIZE) { - - $dom->clear(); - return false; - - } - - $dom->load($str, $lowercase, $stripRN); - - return $dom; - } -}