A-A+

PHP去除HTML标记

2012年06月25日 PHP技术文章 暂无评论 阅读 126 views 次

在写PHP留言本系统时,要在系统设置的地方加一个是否过滤 html 的功能,如果选择是,则会过滤访客恶意添加的 html 代码,刚开始准备的是利用 PHP 自带的过滤函数,比如 htmlspecialchars 或者是 strip_tags 函数等,在多个地方进行过滤,其输出之后,直接以文本显示,不如有一个缺陷,就是 htmlspecialchars 或者是 strip_tags 过滤的是整个 html 的标记,如果有些标记,我不想过滤怎么办呢,那就要在 htmlspecialchars函数 或者是 strip_tags 函数后面再添加参数了,,,其实实现起来也容易,不过在多个地方均要实现就力不从心了,不过自己写一个过虑 html 的函数,统一进行调用管理。

<?    
function TextHtml($txt){    
        $txt = str_replace("  "," ",$txt);    
        $txt = str_replace("<","<",$txt);     
        $txt = str_replace(">",">",$txt);    
        $txt = preg_replace("/[rn]{1,}/isU","   
rn",$txt);    
        return $txt;    
}    
?>
标签:

评论已关闭!