phpcms采集过滤规则无效怎么办

今天给大家介绍PHPcms使用过程中遇到的常见问题,本节重点介绍下采集过滤规则无效,下面由程序员人生网为大家整理的采集过滤规则无效使用方法PHPcms在开源程序中一直是佼佼者,我们必须要学会怎样使用

在采集的使用中我们为采集项,设置了过滤项后,有的时候会出现无效的情况。也就是采集出来的结果并没有按我们的想像的把过滤项给删除了。这是为什么呢?

如下面的一个例子,我们在过滤项中进行如下的设置:

../down.PHP?uri=[|]

他的意思是要把“../down.PHP?uri=”给过滤掉。可采集出来的结果很不近人意。并没有把这个字符串给过滤掉。这是为什么呢?

PHPCMS V9的采集过滤项,使用的是正则表达式匹配过滤。在我们的上面所设置的过滤项中出现了一些正则表达式的特殊符号。当我把过滤规则修改为:

../down.PHP?uri=[|]

过滤项生效了。这里要给大家说明的一个问题就是,正则表达式中的特殊字符只要在它的前面加一个反斜线(),他的意思就是表示为符号本身了,不再是正则表达式中的有特殊意义的字符了。

那么正则表达式里面又有哪些需要注意的特殊符号呢?如下表所示,这些符号如果我们要匹配他们的时候都需要在他们的前面添加反斜线。

字符

说明

^

匹配输入字符串的开始位置。要匹配 "^" 字符本身,请使用 "^"

$

匹配输入字符串的结尾位置。要匹配 "$" 字符本身,请使用 "$"

( )

标记一个子表达式的开始和结束位置。要匹配小括号,请使用 "(" 和 ")"

[ ]

用来自定义能够匹配 '多种字符' 的表达式。要匹配中括号,请使用 "[" 和 "]"

{ }

修饰匹配次数的符号。要匹配大括号,请使用 "{" 和 "}"

.

匹配除了换行符( )以外的任意一个字符。要匹配小数点本身,请使用 "."

?

修饰匹配次数为 0 次或 1 次。要匹配 "?" 字符本身,请使用 "?"

+

修饰匹配次数为至少 1 次。要匹配 "+" 字符本身,请使用 "+"

*

修饰匹配次数为 0 次或任意次。要匹配 "*" 字符本身,请使用 "*"

|

左右两边表达式之间 "或" 关系。匹配 "|" 本身,请使用 "|"

相关文章

PHP打印方法: {php print_r(变量);} {php print_r(变量);} <?php ...
调用一级栏目名称跟二级栏目名称:
phpcms如何修改图片水印呢1、首先准备一张水印图片,命名为mark png(名字随意),放到网站根目录statics ...
就目前phpcms2008下PHPCMS绑定二级域名地址不正确问题分析,在生成栏目的url时有bug,如下所示:比如当栏...
phpcms手机门户网站配置,利用开源PHPcms就可以完成一个手机网站的制作,非常方便,也很简单,值得大家...