加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > phpcms > 正文

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

发布时间:2020-12-14 02:02:00 所属栏目:phpcms 来源:网络整理
导读:今天给大家介绍phpcms使用过程中遇到的常见问题,本节重点介绍下 采集过滤规则无效 ,下面由程序员人生网为大家整理的 采集过滤规则无效 使用方法,phpcms在开源程序中一直是佼佼者,我们必须要学会怎样使用 在采集的使用中我们为采集项,设置了过滤项后,有
今天给大家介绍phpcms使用过程中遇到的常见问题,本节重点介绍下采集过滤规则无效,下面由程序员人生网为大家整理的采集过滤规则无效使用方法,phpcms在开源程序中一直是佼佼者,我们必须要学会怎样使用

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

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

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

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

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

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

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

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

字符

说明

^

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

$

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

( )

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

[ ]

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

{ }

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

.

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

?

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

+

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

*

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

|

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读