php中去除所有的代码只保留字符串文字的方法

2020-09-14
336次阅读
没有评论

可以使用正则表达式,php中也有内置的函数,这还是需要看需求来定义,其实我个人比较推荐正则表达式,因为代码就写在哪里,不至于过段时间忘记了再回头看代码却不知道这个函数代表着什么意思,有什么用。

php内置的方法:

strip_tags($post['content']

正则表达式:

$descclear = str_replace("r","",$descclear);//过滤换行
$descclear = str_replace("n","",$descclear);//过滤换行
$descclear = str_replace("t","",$descclear);//过滤换行
$descclear = str_replace("rn","",$descclear);//过滤换行
$descclear = preg_replace("/s+/", " ", $descclear);//过滤多余回车
$descclear = preg_replace("/<[ ]+/si","<",$descclear); //过滤<__("<"号后面带空格)
$descclear = preg_replace("/<!--.*?-->/si","",$descclear); //过滤html注释
$descclear = preg_replace("/<(!.*?)>/si","",$descclear); //过滤DOCTYPE
$descclear = preg_replace("/<(/?html.*?)>/si","",$descclear); //过滤html标签
$descclear = preg_replace("/<(/?head.*?)>/si","",$descclear); //过滤head标签
$descclear = preg_replace("/<(/?meta.*?)>/si","",$descclear); //过滤meta标签
$descclear = preg_replace("/<(/?body.*?)>/si","",$descclear); //过滤body标签
$descclear = preg_replace("/<(/?link.*?)>/si","",$descclear); //过滤link标签
$descclear = preg_replace("/<(/?form.*?)>/si","",$descclear); //过滤form标签
$descclear = preg_replace("/cookie/si","COOKIE",$descclear); //过滤COOKIE标签
$descclear = preg_replace("/<(applet.*?)>(.*?)<(/applet.*?)>/si","",$descclear); //过滤applet标签
$descclear = preg_replace("/<(/?applet.*?)>/si","",$descclear); //过滤applet标签
$descclear = preg_replace("/<(style.*?)>(.*?)<(/style.*?)>/si","",$descclear); //过滤style标签
$descclear = preg_replace("/<(/?style.*?)>/si","",$descclear); //过滤style标签
$descclear = preg_replace("/<(title.*?)>(.*?)<(/title.*?)>/si","",$descclear); //过滤title标签
$descclear = preg_replace("/<(/?title.*?)>/si","",$descclear); //过滤title标签
$descclear = preg_replace("/<(object.*?)>(.*?)<(/object.*?)>/si","",$descclear); //过滤object标签
$descclear = preg_replace("/<(/?objec.*?)>/si","",$descclear); //过滤object标签
$descclear = preg_replace("/<(noframes.*?)>(.*?)<(/noframes.*?)>/si","",$descclear); //过滤noframes标签
$descclear = preg_replace("/<(/?noframes.*?)>/si","",$descclear); //过滤noframes标签
$descclear = preg_replace("/<(i?frame.*?)>(.*?)<(/i?frame.*?)>/si","",$descclear); //过滤frame标签
$descclear = preg_replace("/<(/?i?frame.*?)>/si","",$descclear); //过滤frame标签
$descclear = preg_replace("/<(script.*?)>(.*?)<(/script.*?)>/si","",$descclear); //过滤script标签
$descclear = preg_replace("/<(/?script.*?)>/si","",$descclear); //过滤script标签
$descclear = preg_replace("/javascript/si","Javascript",$descclear); //过滤script标签
$descclear = preg_replace("/vbscript/si","Vbscript",$descclear); //过滤script标签
$descclear = preg_replace("/on([a-z]+)s*=/si","On1=",$descclear); //过滤script标签

我的实际操作:

php中去除所有的代码只保留字符串文字的方法

正文结束
自由书生
版权声明:本站原创文章,由 自由书生 于2020-09-14发表,共计2444字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码