summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Schneider2009-12-22 15:33:41 +0000
committerChristian Schneider2009-12-22 15:33:41 +0000
commit035e1e94288ce0604765819d503ae88066e95282 (patch)
tree2d472e4ce0f987d096516b938a28d02d7cfe2856
parent19a05d54ff55808411458e7c516df2f3e8ac0f92 (diff)
downloaditools-035e1e94288ce0604765819d503ae88066e95282.tar.gz
itools-035e1e94288ce0604765819d503ae88066e95282.tar.bz2
itools-035e1e94288ce0604765819d503ae88066e95282.zip
Preserve numeric entities in it_html::sanitize
-rw-r--r--it_html.class2
-rwxr-xr-xtests/it_html.t6
2 files changed, 7 insertions, 1 deletions
diff --git a/it_html.class b/it_html.class
index 46a4333..47444a6 100644
--- a/it_html.class
+++ b/it_html.class
@@ -410,7 +410,7 @@ function sanitize($html)
$result .= it_html::sanitize($head) . "<br />" . it_html::sanitize($tail);
}
else
- $result = it_html::Q(it::replace(array('&#\d+;' => ""), html_entity_decode(strip_tags($html), ENT_COMPAT, $charset)));
+ $result = it::replace(array('&amp;(#\d+;)' => '&$1'), it_html::Q(html_entity_decode(strip_tags($html), ENT_COMPAT, $charset)));
return $result;
}
diff --git a/tests/it_html.t b/tests/it_html.t
index 3b4dc2f..883753d 100755
--- a/tests/it_html.t
+++ b/tests/it_html.t
@@ -99,6 +99,12 @@ is(
'it_html::sanitize tag soup'
);
+is(
+ it_html::sanitize('q&#8592;x'),
+ "q&#8592;x",
+ 'it_html::sanitize preserve numeric entities'
+);
+
it_html::configure(array('charset' => "utf-8"));
is(
it_html::sanitize('q&uuml;x'),