i (PCRE_CASELESS)

如果设置了这个修饰符,模式中的字母会进行大小写不敏感匹配。
m (PCRE_MULTILINE)
默认情况下,PCRE 认为目标字符串是由单行字符组成的(然而实际上它可能会包含多行), “行首”元字符 (^) 仅匹配字符串的开始位置, 而”行末”元字符 ($) 仅匹配字符串末尾, 或者最后的换行符(除非设置了 D 修饰符)。这个行为和 perl 相同。 当这个修饰符设置之后,“行首”和“行末”就会匹配目标字符串中任意换行符之前或之后,另外, 还分别匹配目标字符串的最开始和最末尾位置。这等同于 perl 的 /m 修饰符。如果目标字符串 中没有 “\n” 字符,或者模式中没有出现 ^ 或 $,设置这个修饰符不产生任何影响。
s (PCRE_DOTALL)
如果设置了这个修饰符,模式中的点号元字符匹配所有字符,包含换行符。如果没有这个 修饰符,点号不匹配换行符。这个修饰符等同于 perl 中的/s修饰符。 一个取反字符类比如 [^a] 总是匹配换行符,而不依赖于这个修饰符的设置。
x (PCRE_EXTENDED)
如果设置了这个修饰符,模式中的没有经过转义的或不在字符类中的空白数据字符总会被忽略, 并且位于一个未转义的字符类外部的#字符和下一个换行符之间的字符也被忽略。 这个修饰符 等同于 perl 中的 /x 修饰符,使被编译模式中可以包含注释。 注意:这仅用于数据字符。 空白字符 还是不能在模式的特殊字符序列中出现,比如序列 (?( 引入了一个条件子组(译注: 这种语法定义的 特殊字符序列中如果出现空白字符会导致编译错误。 比如(?(就会导致错误)。
e (PREG_REPLACE_EVAL)
Warning
本特性已自 PHP 5.5.0 起废弃。强烈建议不要使用本特性。
如果设置了这个被弃用的修饰符, preg_replace() 在进行了对替换字符串的 后向引用替换之后, 将替换后的字符串作为php 代码评估执行(eval 函数方式),并使用执行结果 作为实际参与替换的字符串。单引号、双引号、反斜线(\)和 NULL 字符在 后向引用替换时会被用反斜线转义.
Caution
The addslashes() function is run on each matched backreference before the substitution takes place. As such, when the backreference is used as a quoted string, escaped characters will be converted to literals. However, characters which are escaped, which would normally not be converted, will retain their slashes. This makes use of this modifier very complicated.
Caution
请确保 replacement 参数由合法 php 代码字符串组成,否则 php 将会 在preg_replace() 调用的行上产生一个解释错误。
Caution
Use of this modifier is discouraged, as it can easily introduce security vulnerabilites:
<?php
$html = $_POST['html'];// uppercase headings
$html = preg_replace(
'(<h([1-6])>(.*?)</h\1>)e',
'"<h$1>" . strtoupper("$2") . "</h$1>"',
$html
);
The above example code can be easily exploited by passing in a string such as <h1>{${eval($_GET[php_code])}}</h1>. This gives the attacker the ability to execute arbitrary PHP code and as such gives him nearly complete access to your server.
To prevent this kind of remote code execution vulnerability the preg_replace_callback() function should be used instead:
<?php
$html = $_POST['html'];// uppercase headings
$html = preg_replace_callback(
'(<h([1-6])>(.*?)</h\1>)',
function ($m) {
return "<h$m[1]>" . strtoupper($m[2]) . "</h$m[1]>"
},
$html
);
Note:
仅 preg_replace() 使用此修饰符,其他 PCRE 函数忽略此修饰符。
A (PCRE_ANCHORED)
如果设置了这个修饰符,模式被强制为”锚定”模式,也就是说约束匹配使其仅从 目标字符串的开始位置搜索。这个效果同样可以使用适当的模式构造出来,并且 这也是 perl 种实现这种模式的唯一途径。
D (PCRE_DOLLAR_ENDONLY)
如果这个修饰符被设置,模式中的元字符美元符号仅仅匹配目标字符串的末尾。如果这个修饰符 没有设置,当字符串以一个换行符结尾时, 美元符号还会匹配该换行符(但不会匹配之前的任何换行符)。 如果设置了修饰符m,这个修饰符被忽略. 在 perl 中没有与此修饰符等同的修饰符。
S
当一个模式需要多次使用的时候,为了得到匹配速度的提升,值得花费一些时间 对其进行一些额外的分析。如果设置了这个修饰符,这个额外的分析就会执行。当前, 这种对一个模式的分析仅仅适用于非锚定模式的匹配(即没有单独的固定开始字符)。
U (PCRE_UNGREEDY)
这个修饰符逆转了量词的”贪婪”模式。 使量词默认为非贪婪的,通过量词后紧跟? 的方式可以使其成为贪婪的。这和 perl 是不兼容的。 它同样可以使用 模式内修饰符设置 (?U)进行设置, 或者在量词后以问号标记其非贪婪(比如.*?)。
Note:
在非贪婪模式,通常不能匹配超过 pcre.backtrack_limit 的字符。
X (PCRE_EXTRA)
这个修饰符打开了 PCRE 与 perl 不兼容的附件功能。模式中的任意反斜线后就 ingen 一个 没有特殊含义的字符都会导致一个错误,以此保留这些字符以保证向后兼容性。 默认情况下,在 perl 中,反斜线紧跟一个没有特殊含义的字符被认为是该字符的原文。 当前没有其他特性由这个修饰符控制。
J (PCRE_INFO_JCHANGED)
内部选项设置(?J)修改本地的PCRE_DUPNAMES选项。允许子组重名, (译注:只能通过内部选项设置,外部的 /J 设置会产生错误。)
u (PCRE_UTF8)
此修正符打开一个与 perl 不兼容的附加功能。 模式字符串被认为是utf-8的. 这个修饰符 从 unix 版php 4.1.0 或更高,win32版 php 4.2.3 开始可用。 php 4.3.5 开始检查模式的 utf-8 合法性。
# 正则表达式
# 修饰符
# 换行符
# 就会
# 不兼容
# 使其
# 可以使用
# 后向
# 情况下
# 特殊字符
# 将会
# 是由
# 还会
# 适用于
# 能在
# 而不
# 对其
# 与此
# 如果没有
# 总会
# 这等
相关文章:
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
,有什么在线背英语单词效率比较高的网站?
建站DNS解析失败?如何正确配置域名服务器?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
建站之星ASP如何实现CMS高效搭建与安全管理?
大连网站制作公司哪家好一点,大连买房网站哪个好?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
如何通过山东自助建站平台快速注册域名?
宁波免费建站如何选择可靠模板与平台?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
如何选择建站程序?包含哪些必备功能与类型?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
如何通过cPanel快速搭建网站?
h5在线制作网站电脑版下载,h5网页制作软件?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
,如何利用word制作宣传手册?
建站之星展会模版如何一键下载生成?
文字头像制作网站推荐软件,醒图能自动配文字吗?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
建站之星安装失败:服务器环境不兼容?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
建站之星好吗?新手能否轻松上手建站?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
内部网站制作流程,如何建立公司内部网站?
如何高效完成自助建站业务培训?
建站之星后台密码如何安全设置与找回?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何在VPS电脑上快速搭建网站?
网站制作壁纸教程视频,电脑壁纸网站?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
如何快速生成可下载的建站源码工具?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何配置IIS站点权限与局域网访问?
如何在阿里云服务器自主搭建网站?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
宝塔新建站点报错如何解决?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
建站主机核心功能解析:服务器选择与网站搭建流程指南
香港服务器网站推广:SEO优化与外贸独立站搭建策略
如何通过虚拟机搭建网站?详细步骤解析
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
官网网站制作腾讯审核要多久,联想路由器newifi官网
*请认真填写需求信息,我们会在24小时内与您取得联系。