xml里面的,虽然可以放各种各样的特殊字符,但还是有些字符放不进去,因为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); }