diff --git a/src/fixes/node-fixes/class-space-collapse-fix.php b/src/fixes/node-fixes/class-space-collapse-fix.php index 11a3b22..158a3fc 100644 --- a/src/fixes/node-fixes/class-space-collapse-fix.php +++ b/src/fixes/node-fixes/class-space-collapse-fix.php @@ -41,8 +41,11 @@ */ class Space_Collapse_Fix extends Abstract_Node_Fix { + // Use the PCRE-escaped non-breaking space so the /x modifier doesn’t strip it out. + const PCRE_ESCAPED_NO_BREAK_SPACE = "\\x{00A0}"; + const COLLAPSE_NORMAL_SPACES = '/[' . RE::NORMAL_SPACES . ']+/Sxu'; - const COLLAPSE_NON_BREAKABLE_SPACES = '/(?:[' . RE::NORMAL_SPACES . ']|' . RE::HTML_SPACES . ')*' . U::NO_BREAK_SPACE . '(?:[' . RE::NORMAL_SPACES . ']|' . RE::HTML_SPACES . ')*/Sxu'; + const COLLAPSE_NON_BREAKABLE_SPACES = '/(?:[' . RE::NORMAL_SPACES . ']|' . RE::HTML_SPACES . ')*' . self::PCRE_ESCAPED_NO_BREAK_SPACE . '(?:[' . RE::NORMAL_SPACES . ']|' . RE::HTML_SPACES . ')*/Sxu'; const COLLAPSE_OTHER_SPACES = '/(?:[' . RE::NORMAL_SPACES . '])*(' . RE::HTML_SPACES . ')(?:[' . RE::NORMAL_SPACES . ']|' . RE::HTML_SPACES . ')*/Sxu'; const COLLAPSE_SPACES_AT_START_OF_BLOCK = '/\A(?:[' . RE::NORMAL_SPACES . ']|' . RE::HTML_SPACES . ')+/Sxu';