Less obstructive work-around
authorAlexander Ebert <ebert@woltlab.com>
Thu, 29 Sep 2016 14:15:25 +0000 (16:15 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Thu, 29 Sep 2016 14:15:25 +0000 (16:15 +0200)
I don't really feel comfortable using unicode sequences when a simple
`&nbsp;` (that should be removed anyway) does the job too.

wcfsetup/install/files/lib/system/html/input/filter/MessageHtmlInputFilter.class.php
wcfsetup/install/files/lib/system/html/node/AbstractHtmlNodeProcessor.class.php

index b03b0cf370e8d992087701c93c6e0e1afcc53ef6..5f8117ac2a2a41f85c8eb180fd7c55abc6652efa 100644 (file)
@@ -26,13 +26,13 @@ class MessageHtmlInputFilter implements IHtmlInputFilter {
        public function apply($html) {
                // work-around for a libxml bug that causes a single space between
                // some inline elements to be dropped 
-               $html = str_replace('> <', '>&#xE000;&#xEFFF;&#xE000;<', $html);
+               $html = str_replace('> <', '>&nbsp;<', $html);
                
                $html = $this->getPurifier()->purify($html);
                
                // work-around for a libxml bug that causes a single space between
                // some inline elements to be dropped
-               $html = preg_replace('~>\x{E000}\x{EFFF}\x{E000}<~u', '> <', $html);
+               $html = str_replace('&nbsp;', ' ', $html);
                
                return $html;
        }
index 205756728ba6521786ee970e6b02916aa69d5e8a..bda595329415004c44c2ed8c3072cd0fb15481e4 100644 (file)
@@ -58,7 +58,7 @@ abstract class AbstractHtmlNodeProcessor implements IHtmlNodeProcessor {
                
                // work-around for a libxml bug that causes a single space between
                // some inline elements to be dropped 
-               $html = str_replace('> <', '>&#xE000;&#xEFFF;&#xE000;<', $html);
+               $html = str_replace('> <', '>&nbsp;<', $html);
                
                // Ignore all errors when loading the HTML string, because DOMDocument does not
                // provide a proper way to add custom HTML elements (even though explicitly allowed
@@ -102,7 +102,7 @@ abstract class AbstractHtmlNodeProcessor implements IHtmlNodeProcessor {
                
                // work-around for a libxml bug that causes a single space between
                // some inline elements to be dropped
-               $html = preg_replace('~>\x{E000}\x{EFFF}\x{E000}<~u', '> <', $html);
+               $html = str_replace('&nbsp;', ' ', $html);
                
                return $html;
        }