过滤bbcodes

方法一:

替换前的内容可以使用限定符 {x} 以限定相邻两字符间可忽略的文字,x 是忽略字符的个数。如 "a{1}s{2}s"(不含引号) 可以过滤 "ass" 也可过滤 "axsxs" 和 "axsxxs" 等等。 这个是Discuz官方提供的

方法二:

我安装了discuz7.0,在他的文件中找到了过滤函数并改写了它,使其能在过滤前先把所有的空格删掉。

具体改法:

1.用记事本打开include目录下的discuzcode.func.php文件

2.找到 if(preg_match($_DCACHE[‘censor‘][‘banned‘], @preg_replace(array("/\[($bbcodes)=?.*\]/iU", "/\[\/($bbcodes)\]/i"), ‘‘, $message).$message)) { showmessage(‘word_banned‘); } 在52行,你可以使用搜索功能(Ctrl+F)找到

3.在其前面增加一行 $message = str_replace(‘ ‘, ‘‘, $message);

这就是用来替换空格的 变成这样

$bbcodes =             ‘b|i|u|color|size|font|align|list|indent|url|email|hide|quote|code|free|table|tr|td|img|swf|attach|payto|float‘.($_DCACHE[‘bbcodes_display‘] ? ‘|‘.implode(‘|‘, array_keys($_DCACHE[‘bbcodes_display‘])) : ‘‘);

$message = str_replace(‘ ‘, ‘‘, $message);

if(preg_match($_DCACHE[‘censor‘][‘banned‘], @preg_replace(array("/\[($bbcodes)=?.*\]/iU", "/\[\/($bbcodes)\]/i"), ‘‘, $message).$message)) {

showmessage(‘word_banned‘);

}

4.保存即可

时间: 2024-11-05 12:21:19

过滤bbcodes的相关文章

基于Spark MLlib平台的协同过滤算法---电影推荐系统

基于Spark MLlib平台的协同过滤算法---电影推荐系统 又好一阵子没有写文章了,阿弥陀佛...最近项目中要做理财推荐,所以,回过头来回顾一下协同过滤算法在推荐系统中的应用. 说到推荐系统,大家可能立马会想到协同过滤算法.本文基于Spark MLlib平台实现一个向用户推荐电影的简单应用.其中,主要包括三部分内容: 协同过滤算法概述 基于模型的协同过滤应用---电影推荐 实时推荐架构分析     一.协同过滤算法概述 本人对算法的研究,目前还不是很深入,这里简单的介绍下其工作原理. 通常,

Falsy Bouncer(过滤数组假值)

Falsy Bouncer 过滤数组假值 (真假美猴王) 删除数组中的所有假值. 在JavaScript中,假值有false.null.0."".undefined 和 NaN. function bouncer(arr) { // 请把你的代码写在这里 return arr.filter(function(a){ return !!a; }); } bouncer([false, null, 0, NaN, undefined, ""]); 本来也不会,参考了别人

MySQL 5.5主从关于‘复制过滤’的深入探究

关于MySQL主从复制的过滤,例如通过binlog-ignore-db.replicate-do-db.replicate-wild-do-table等.如果不好好研究过这些过滤选项就用的话,是有可能造成主从数据不一致问题的.本文将参考MySQL-5.5官方文档并结合实验,和各位一起探讨下这里的各个设置. 以下内容参考5.5官方文档 binlog_format的设置会导致一些复制执行上的差异. 格式有三种(STATEMENT,ROW,MIXED,5.5默认为STATEMENT) 当使用MIXED

ztree复选框,过滤节点的机制

//过滤节点的机制 直接return node表示不做任何过滤 //return node.checked==true;表达选择框的节点 function filter(node) {return node;} ///动态设置zTree的所有节点有checkboxfunction DynamicUpdateNodeCheck() { var zTree = $.fn.zTree.getZTreeObj("treeDemo"); //根据过滤机制获得zTree的所有节点         

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc

Wireshark-BPF过滤规则

设置过滤规则就是让网络设备只是捕获我们感兴趣的网络数据包,如果没有设置过滤规则,即上面的 filter_app 是空字符串,那么网络设备就捕获所有类型的数据包,否则只是捕获过滤规则设置的数据包,此时过滤规则的逻辑值为真.此过滤规则是通用的,由著名的网络程序 tcpdump 推出,其他很多的网络程序都是基于此规则进行设计的.此过滤规则的内部解析机制上面介绍过,下面我们参考 tcpdump 的过滤规则形式着重介绍一下过滤规则的定义形式. 过滤规则由一个或多个原语组成.原语通常由一个标识(id, 名称

C# 过滤SQL 字符串中的 参数

/// <summary> /// 参数过滤 /// </summary> /// <param name="parameters"></param> /// <param name="sql"></param> /// <returns></returns> public static IEnumerable<PropertyInfo> FilterPara

易宝典文章——玩转Office 365中的Exchange Online服务 之二十八 怎样过滤病毒木马邮件

病毒.木马等恶意代码已经充斥着整个Internet.其传播途径也非常广泛,其中有一种途径就是通过电子邮件进行传播.可能的情况如下: >邮件自身是通过病毒发出的,并携带病毒自身或变种: >邮件是通过发件人发出的,但是由于发件人的设备感染了病毒,该病毒自动随邮件发出: >发件人发送邮件时,主动添加了附件,而附件文件中带有病毒等.对于收件人来讲,如果接收到这些携带恶意代码的邮件后,而本地又没有最新的.有效的防恶意代码工具,那么就会被随之被感染病毒或遭到木马入侵等.Exchange Online

过滤,绑定及动画

一.基本过滤器 语法 描述 返回值 :first 选取第一个元素 单个元素 :last 选取最后一个元素 单个元素 :not(selector) 选取去除所有与给定选择器匹配的元素 集合元素 :even 选取索引是偶数的所有元素(index 从0开始) 集合元素 :odd 选取索引是奇数的所有元素(index 从0开始) 单个元素 :eq(index) 选取索引等于index的元素 集合元素 :gt 选取索引大于index的元素 集合元素 :lt 选取索引小于index的元素 集合元素 :hea