过滤xml中的非法字符串

在工作中要处理xml数据,结果java的lucene从数据返回了非法的xml字符,找了半天

//XML标准规定的无效字节为:
/*
0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f
*/

function XmlSafeStr($s)
{

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