summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--it_xml.class3
1 files changed, 2 insertions, 1 deletions
diff --git a/it_xml.class b/it_xml.class
index a861245..da02b00 100644
--- a/it_xml.class
+++ b/it_xml.class
@@ -133,7 +133,8 @@ function _sanitize($xmldata, $isutf8 = null)
if ($isutf8 && preg_match('/[^\x80-\xff][\x80-\xff][^\x80-\xff]/', $xmldata))
$xmldata = preg_replace('/[\x80-\xff]{1,4}/e', "it_xml::_utf8_fix('\\0')", $xmldata);
- if (!$isutf8)
+ # If not utf-8, remove characters illegal for latin-1
+ if (!$isutf8 && preg_match('/[\x00-\x08\x0a-\x0c\x0e-\x1f\x80-\x9f]/', $xmldata))
$xmldata = it_html::latinize($xmldata);
return array($xmldata, $isutf8);