【PHP】过滤XML中的非法字符



    一般XML中如果含有&等字符,可以通过CDATA来过滤,但是含有一些不认识的特殊字符时候就会不起作用,下面是从别人那儿拿来的一个过滤方法,过滤xml中的非法字符:

    //XML标准规定的无效字节为:
    
    /*
    0×00 – 0×08
    0x0b – 0x0c
    0x0e – 0x1f
    */
    
    //所以很简单,输出的时候过滤这些字符就万无一失了,下面是PHP的实现。
    
    /* PHP 实现 */
    function XmlSafeStr($s)
    {
    return preg_replace("/[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]/","",$s);
    }

    原文无法访问http://zongfeng.bloghome.cn/posts/77742.html

    p.s. W3C的XML规范中关于字符的定义请参看这里:http://www.w3.org/TR/2004/REC-xml-20040204/#charsets



    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《【PHP】过滤XML中的非法字符
    标签:
    分享:

还没有人抢沙发呢~

无觅相关文章插件,快速提升流量