From b00d7ef2c303ca32fd1b82bab27a60a68dc23010 Mon Sep 17 00:00:00 2001 From: Alexander Ebert Date: Fri, 2 Sep 2016 12:25:32 +0200 Subject: [PATCH] Removed cleanup again, it leads to false-positives --- .../node/HtmlInputNodeProcessor.class.php | 45 ------------------- 1 file changed, 45 deletions(-) diff --git a/wcfsetup/install/files/lib/system/html/input/node/HtmlInputNodeProcessor.class.php b/wcfsetup/install/files/lib/system/html/input/node/HtmlInputNodeProcessor.class.php index 3dc10092d2..1a121ed868 100644 --- a/wcfsetup/install/files/lib/system/html/input/node/HtmlInputNodeProcessor.class.php +++ b/wcfsetup/install/files/lib/system/html/input/node/HtmlInputNodeProcessor.class.php @@ -58,8 +58,6 @@ class HtmlInputNodeProcessor extends AbstractHtmlNodeProcessor { $this->processEmbeddedContent(); EventHandler::getInstance()->fireAction($this, 'afterProcess'); - - $this->cleanup(); } /** @@ -245,49 +243,6 @@ class HtmlInputNodeProcessor extends AbstractHtmlNodeProcessor { EventHandler::getInstance()->fireAction($this, 'parseEmbeddedContent'); } - /** - * Removes garbage left in the DOM. - */ - protected function cleanup() { - // remove empty

tags - $elements = []; - foreach ($this->getDocument()->getElementsByTagName('p') as $element) { - $elements[] = $element; - } - - /** @var \DOMElement $element */ - foreach ($elements as $element) { - if ($element->hasChildNodes()) { - if ($element->childNodes->length === 1) { - /** @var \DOMNode $child */ - $child = $element->childNodes[0]; - if ($child->nodeType === XML_TEXT_NODE && empty(StringUtil::trim($element->childNodes[0]->textContent))) { - DOMUtil::removeNode($element); - } - } - } - else { - DOMUtil::removeNode($element); - } - } - - // remove
at the end of block elements - // without a succeeding non-empty paragraph - $elements = []; - foreach ($this->getDocument()->getElementsByTagName('br') as $element) { - $elements[] = $element; - } - - $blocks = ['h1', 'h2', 'h3', 'p']; - foreach ($elements as $element) { - if (in_array($element->parentNode->nodeName, $blocks)) { - if ($element->previousSibling && !$element->nextSibling) { - DOMUtil::removeNode($element); - } - } - } - } - /** * Creates a new `` element contained in the same document * as the provided `$node`. -- 2.20.1