From f4f77fc8513bc6183c03d7d96741d74788853f86 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Wed, 25 Jan 2006 19:20:28 +0000 Subject: [PATCH] - Patch #45742 by chx: fixed problem with closed tags being filtered out. --- modules/filter.module | 3 +++ modules/filter/filter.module | 3 +++ 2 files changed, 6 insertions(+) diff --git a/modules/filter.module b/modules/filter.module index 1a62d851821..0e345cce666 100644 --- a/modules/filter.module +++ b/modules/filter.module @@ -1133,7 +1133,10 @@ function _filter_xss_split($m, $store = FALSE) { if ($slash != '') { return ""; } + // Is there a closing XHTML slash at the end of the attributes? + $attrlist = preg_replace('%(\s?)/\s*$%', '\1', $attrlist); + // in PHP 5.1.0 we could count the changes, currently we need this $xhtml_slash = preg_match('%\s?/\s*$%', $attrlist) ? ' /' : ''; // Clean up attributes diff --git a/modules/filter/filter.module b/modules/filter/filter.module index 1a62d851821..0e345cce666 100644 --- a/modules/filter/filter.module +++ b/modules/filter/filter.module @@ -1133,7 +1133,10 @@ function _filter_xss_split($m, $store = FALSE) { if ($slash != '') { return ""; } + // Is there a closing XHTML slash at the end of the attributes? + $attrlist = preg_replace('%(\s?)/\s*$%', '\1', $attrlist); + // in PHP 5.1.0 we could count the changes, currently we need this $xhtml_slash = preg_match('%\s?/\s*$%', $attrlist) ? ' /' : ''; // Clean up attributes