过滤xml中的不合法字符

巴扎黑
巴扎黑 原创
2016-11-23 10:40:24 1442浏览

xml里面的<![CDATA[ ]]>,虽然可以放各种各样的特殊字符,但还是有些字符放不进去,因为xml允许的字符范围是"#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]",也就是说\x00-\x08,\x0b-\x0c,\x0e-\x1f这三组字符是不允许出现的。所以需要过滤一下,过滤的方法也很简单

Java代码

str = str.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "");



Php代码

function filterXmlStr($str)     
{     
  return preg_replace("/[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]/",'',$str);     
}


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。