在php中html标签进行安全过滤,建议使用php正则来完成,简单高效。
也可以使用strip_tags函数,或比如过滤掉所有 A 标签:
echo preg_replace('|<(.*)a(.*)href(.*)>(.*)<(.*)a(.*)>|U','',$a); //1,过滤所有html标签的正则表达式: </?[^>]+> //2,过滤所有html标签的属性的正则表达式: $html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<1>",$html); //3,过滤部分html标签的正则表达式的排除式(比如排除<p>,即不过滤<p>): </?[^pP/>]+> //4,过滤部分html标签的正则表达式的枚举式(比如需要过滤<a><p><b>等): </?[aApPbB][^>]*> //5,过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性): s(?!alt)[a-zA-Z]+=[^s]* //6,过滤部分html标签的属性的正则表达式的枚举式(比如alt属性): (s)alt=[^s]*