Strip the `data-cke-fillter` attribute in the HTML output
authorAlexander Ebert <ebert@woltlab.com>
Thu, 4 May 2023 15:57:25 +0000 (17:57 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 8 May 2023 16:34:04 +0000 (18:34 +0200)
wcfsetup/install/files/lib/system/html/output/node/HtmlOutputNodeP.class.php

index 8f333815aa5e8c2dc00fa3fd587256c00a3f04a4..ddc772249a1fa8c7dcec7f1f4b53190324560c8e 100644 (file)
@@ -29,7 +29,15 @@ final class HtmlOutputNodeP extends AbstractHtmlOutputNode
         foreach ($elements as $element) {
             if ($element->childElementCount === 1 && $element->firstElementChild) {
                 $child = $element->firstElementChild;
-                if ($child->tagName === 'br' && $child->getAttribute('data-cke-filler') !== 'true') {
+                if ($child->tagName === 'br') {
+                    if ($child->getAttribute('data-cke-filler') === 'true') {
+                        // This is an internal marker used to identify paragraphs
+                        // that are intentionally left blank.
+                        $child->removeAttribute('data-cke-filler');
+
+                        continue;
+                    }
+
                     // This is most likely a legacy paragraph that was inserted
                     // in earlier versions and is not longer required. We need
                     // to verify that there is no other text inside the node