diff options
author | Christian Schneider | 2009-12-22 15:33:41 +0000 |
---|---|---|
committer | Christian Schneider | 2009-12-22 15:33:41 +0000 |
commit | 035e1e94288ce0604765819d503ae88066e95282 (patch) | |
tree | 2d472e4ce0f987d096516b938a28d02d7cfe2856 | |
parent | 19a05d54ff55808411458e7c516df2f3e8ac0f92 (diff) | |
download | itools-035e1e94288ce0604765819d503ae88066e95282.tar.gz itools-035e1e94288ce0604765819d503ae88066e95282.tar.bz2 itools-035e1e94288ce0604765819d503ae88066e95282.zip |
Preserve numeric entities in it_html::sanitize
-rw-r--r-- | it_html.class | 2 | ||||
-rwxr-xr-x | tests/it_html.t | 6 |
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('&(#\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←x'), + "q←x", + 'it_html::sanitize preserve numeric entities' +); + it_html::configure(array('charset' => "utf-8")); is( it_html::sanitize('qüx'), |