preg_replace 修饰符

飘逸的风13年前 (2012-11-16)程序6901
  PatternModifiers-规则表达式的修饰符
  
  下面是当前规则表达式里可用的修饰.括号内的名字是那些修饰符的内部PCRE名字.
  
  i(PCRE_CASELESS)
  
  如果设置了这个修饰符,则表达式不区分大小写.
  
  m(PCRE_MULTILINE)
  
  默认的,PCRE认为目标字符串值是单行字符串(即使他确实包含多行).行开始标记(^)只匹配字符串的开始部分,而行结束标记

($)只匹配字符串的尾部,或者一个结束行(除非指定E修饰符).这个和Perl里面一样.
  
  如果设定了这个修饰符,行开始和行结束结构分别匹配在目标字符串任何新行的当前位置后面的或者以前的,和每一个开始和

结束一样.这个等于Perl里面的/m修饰符.如果目标字符串没有"n"字符,或者模式里没有^或$,这个修饰符不起作用.
  
  s(PCRE_DOTALL)
  
  如果设置这个修饰符,模式里的一个"点"将匹配所有字符,包括换行.没有他,换行将被排除在外.这个修饰符等同于Perl里面

的/s修饰符.一个相反的类型,例如[^a]将总是匹配换行字符,而不管这个修饰符的限制.
  
  x(PCRE_EXTENDED)
  
  如果设置这个修饰符,模式里面的空格数句将会被全部忽略,除非用转义符或者一个字符的内部类型,还有所有字符类型外的

未转义的#号之间的也被忽略.这个等同于Perl里面的/x修饰符,这样可以复杂的模式里面加入注释.注意,只适用于数据字符.空格

字符将不会在指定的模式字符指定顺序中出现。
  
  e
  
  如果设置这个修饰符,preg_replace()将在替换值里进行正常的涉及到的替换,等同于在PHP代码里面一样,然后用于替换搜索

到的字符串.
  
  只在preg_replace()里使用这个修饰符;其它PCRE函数忽略他.
  
  A(PCRE_ANCHORED)
  
  如果设置这个修饰符,模式被强制为锚(anchored),也就是说,他将值匹配搜索字符串的开始.这个效果可以通过恰当的模式

结构自身来实现,那是在Perl里面的唯一途径.
  
  D(PCRE_DOLLAR_ENDONLY)
  
  如果设置这个修饰符,则模式里的$修饰符将仅匹配目标字符串里的尾部.没有这个修饰符,$字符也匹配新行的尾部(但是不再

新行的前面).如果设置了m修饰符则忽略这个修饰符.在Perl里面没有类似的.
  
  S
  
  如果一个模式将被使用多次,使用长些时间分析他来来提高匹配的速度.如果使用这个修饰符,则进行额外的分析.目前,研究

模式仅用于非锚模式,没有一个固定的开始字符.
  
  U(PCRE_UNGREEDY)
  
  这个修饰符翻转数量的"greediness",使得默认不被greedy,但是如果你紧跟问号(?),则可以greedy.这个和Perl不兼容.

这个也可以通过在模式里面的(?U)修饰符得到.
  
  X(PCRE_EXTRA)
  
  这个修饰符打开额外的功能,这些和Perl不兼容.任何模式里面的后面带字符但没有特殊意义的反斜杠将引起错误,从而储备

这些联合用于将来的扩充.默认的,在Perl里面,反斜杠后面有无意义的字符被当成正常的literal.目前还没有其他的控制特征.

相关文章

新的月份,换一个新的模板

新的月份,换一个新的模板

用了半天的时间做一个emlog模板,自己感觉还是不错的。emlog模板做起来还是很简单的!...

PHP5+引进$GLOBALS延迟初始化概念

今天在使用$GLOBALS['_SERVER']来替代$_SERVER来访问相关的环境变量,总是会报“_SERVER undefined”错误。如下用例:    用例1: &n...

一些需要禁用的PHP危险函数

phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 危险等级:中 passthru() 功能描述:允许执行一个外部程序并回显输出,类似于 exec()。...

PHP Apache2.2 虚拟主机配置

APACHE+PHP+MYSQL 基本环境设好了之后,今天在此基础之上设置 多个虚拟主机,即一个IP,可以有多个域名访问,也可以说一个WEB SERVER 上架设多个网站(在网上找了很久,都没有找...

小功能:PHP实现冒泡排序

首先我们必须弄清楚什么是冒泡排序,不理解冒泡排序的原理,我们就无法写出代码。 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第...

分享:php 将图片旋转90度的函数

以下是函数代码: /** * 修改一个图片 让其翻转指定度数 * * @param string $filename 文件名(包括文件路径) * @param fl...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。