织梦dedecms富文本内容中屏蔽标签实例代码

所属分类: CMS教程 / dedecms 阅读数: 2206
收藏 0 赞 0 分享

文章的body字段屏蔽a标签和iframe标签

{dede:field.body runphp="yes"}
    $str=@me;
    @me='';
    $str1='';
    $str1 = preg_replace( "@<iframe(.*?)</iframe>@is", "", $str ); 
    $str1 = preg_replace("/<a[^>]*>(.*?)<\/a>/is", "$1", $str1);
    @me=$str1;
{/dede:field.body}

以下是过滤其他标签的正则表达式

$str=preg_replace("/\s+/", " ", $str); //过滤多余回车
$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)
$str=preg_replace("/<\!–.*?–>/si","",$str); //注释
$str=preg_replace("/<(\!.*?)>/si","",$str); //过滤DOCTYPE
$str=preg_replace("/<(\/?html.*?)>/si","",$str); //过滤html标签
$str=preg_replace("/<(\/?br.*?)>/si","",$str); //过滤br标签
$str=preg_replace("/<(\/?head.*?)>/si","",$str); //过滤head标签
$str=preg_replace("/<(\/?meta.*?)>/si","",$str); //过滤meta标签
$str=preg_replace("/<(\/?body.*?)>/si","",$str); //过滤body标签
$str=preg_replace("/<(\/?link.*?)>/si","",$str); //过滤link标签
$str=preg_replace("/<(\/?form.*?)>/si","",$str); //过滤form标签
$str=preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签
$str=preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si","",$str); //过滤applet标签
$str=preg_replace("/<(\/?applet.*?)>/si","",$str); //过滤applet标签
$str=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$str); //过滤style标签
$str=preg_replace("/<(\/?style.*?)>/si","",$str); //过滤style标签
$str=preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si","",$str); //过滤title标签
$str=preg_replace("/<(\/?title.*?)>/si","",$str); //过滤title标签
$str=preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si","",$str); //过滤object标签
$str=preg_replace("/<(\/?objec.*?)>/si","",$str); //过滤object标签
$str=preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si","",$str); //过滤noframes标签
$str=preg_replace("/<(\/?noframes.*?)>/si","",$str); //过滤noframes标签
$str=preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si","",$str); //过滤frame标签
$str=preg_replace("/<(\/?i?frame.*?)>/si","",$str); //过滤frame标签
$str=preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$str); //过滤script标签
$str=preg_replace("/<(\/?script.*?)>/si","",$str); //过滤script标签
$str=preg_replace("/javascript/si","Javascript",$str); //过滤script标签
$str=preg_replace("/vbscript/si","Vbscript",$str); //过滤script标签
$str=preg_replace("/on([a-z]+)\s*=/si","On\\1=",$str); //过滤script标签
$str=preg_replace("/&#/si","&#",$str); //过滤script标签,

$str = preg_replace( "@<script(.*?)</script>@is", "", $str ); //过滤script代码
$str = preg_replace( "@<iframe(.*?)</iframe>@is", "", $str );
$str = preg_replace( "@<style(.*?)</style>@is", "", $str );
$str = preg_replace( "@<(.*?)>@is", "", $str ); 

大家可以在本地尝试下小编已经成功了,希望我们整理的内容能够帮助到大家。

更多精彩内容其他人还在看

dedecms列表页标题title后加上页数其标题不重复的方法

在列表页的标题后加上页数使列表页的标题不重复这样更利于优化,下面是从搜索整理的解决方法,有类似需求的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

解决Dedecms生成RSS地图地址出错全都多了一个网址的问题

DEDE织梦CMS生成RSS地图全都多了一个网址,这种情况下,就是域名被重复生成了一次,导至RSS地址出错。其实对于这个BUG,处理方法很简单,有类似情况的朋友可以了解下本文
收藏 0 赞 0 分享

dede调取三级栏目名及栏目下的内容列表的方法

网站根据需要,把地区划成省-市-文章的层级结构,正如标题所言dede怎么调取三级栏目名及栏目下的内容列表,具体的实现如下,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

DEDE模板中如何运行php脚本和变量在需要操作数据库字段时

经常会需要直接对dede数据库的底层字段进行处理,如果dede中没有相应的函数,那么我们就要使用其他的方法来实现了,正如标题所言的运行php脚本和php变量,下面有个不错的示例,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

dedecms二次开发时使用{dede:arclist},{dede:list}获取附加表字段内容

以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,不过最近发现个不错的方法,大家可以学习下
收藏 0 赞 0 分享

DEDECMS网站文章列表页更新点击次数的问题完美解决

如何在DEDECMS的网站里,当浏览文章时,自动增加一次点击次数;而显示文章列表时,则仅显示点击量(不增加点击次数),具体实现如下,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

解析DedeCms中data目录下的sessions是什么文件

以下是对DedeCms中data目录下的sessions是什么文件,进行了详细的介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

dedecmsV5.7版 tag标签长度的修改方法详解

在dede程序中,很多时候替换的标签长度为12个字节也就是6个汉字非常的不够我们使用怎么办呢?这时我们可以简单的修改一下dedecms一些代码即可解决,需要的朋友可以参考下
收藏 0 赞 0 分享

浅析DedeCMS投票模块漏洞的解决方法

DedeCMS投票模块有朋友反映投票主题的选项经常被sql注入删除,经过脚本之家小编查看代码发现投票模块代码没有对sql参数进行转换,导致不法分子sql注入。只要将addslashes()改为mysql_real_escape_string()即可
收藏 0 赞 0 分享

解析织梦DedeCMS图片按月存放的实现方法

采集文稿的图片总是按日存放,如何以年月存放?以下就是对织梦DedeCMS图片按月存放的实现方法进行了详细的分析介绍,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多