php正则表达式实现替换的方法

  介绍

这篇文章主要介绍了php正则表达式实现替换的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

php正则表达式实现替换的方法:首先创建一个php示例文件,然后定义一个字符串,接着通过“preg_replace(模式,替代美元,美元的字符串),“方式实现字符串替换即可。

字符串的替换是字符串操作中非常重要的内容之一。对于一些比较复杂的字符串替换操作,可以通过正则表达式的替换函数preg_replace()来完成。

php中的preg_replace()函数可以执行正则表达式的搜索和替换,是一个强大的字符串替换处理函数,该函数的语法格式如下:

preg_replace(模式,替代美元,美元[限制美元=1[,和美元计数]])

参数说明如下:

模式:美元要搜索的模式,可以使一个字符串或字符串数组;

替换:美元用于替换的字符串或字符串数组。如果这个参数是一个字符串,并且美元模式是一个数组,那么所有的模式都使用这个字符串进行替换。如果模式和替代美元都是数组,每个模式使美元用替代美元中对应的元素进行替换。如果替代中美元的元素比模式中美元的少,多出来的模式使美元用空字符串进行替换。

主题:美元要进行搜索和替换的字符串或字符串数组,如果美元主题是一个数组,搜索和替换回美元在主题的每一个元素上进行,并且返回值也会是一个数组。

美元限制:可选参数,每个模式在每个主题上美元进行替换的最大次数。默认是1(无限)。

美元数:可选参数,如果指定,将会被填充为完成的替换次数。

如果美元主题是一个数组,preg_replace()函数会返回一个数组,其他情况下返回一个字符串。

如果函数preg_replace()搜索到匹配项,则会返回被替换后的美元,否则返回没有改变的美元subject.preg_replace()函数的每个参数(除了参数限制美元)都可以是一个数组。如果参数美元模式和参数替换美元都是数组,那么该函数将以其键名在数组中出现的顺序来进行处理。如果发生错误,则返回零。

参数替换美元中可以包含后向引用\ \ \ \ n或$ n,语法上首选后者。每个这样的引用将被匹配到的第n个捕获子组捕获到的文本替换新债可以是0 - 99,\ \ \ \ 0和$ 0代表完整的模式匹配文本。

捕获子组的序号计数方式为:代表捕获子组的左括号从左到右,从1开始数。如果要在替代美元中使用反斜线,必须使用4个(“\ \ \ \ \ \ \ \“;因为这首先是php的字符串,经过转义后是两个,再经过正则表达式引擎后才被认为是一个原文反斜线)。

当在替换模式下工作并且后向引用后面紧跟着需要是另外一个数字(比如:在一个匹配模式后紧接着增加一个原文数字),不能使用\ \ \ \ 1这样的语法来描述后向引用。比如,\ \ \ \ 11将会使preg_replace()不能理解你希望的是一个\ \ \ \ 1后向引用紧跟一个原文1,还是一个\ \ \ \ 11后向引用后面不跟任何东西。这种情况下解决方案是使用{1}1美元。这创建了一个独立的1美元后向引用,一个独立的原文1 .

当使用被弃用的e修饰符时,这个函数会转义一些字符(即:& # 39;,“\ \和NULL)然后进行后向引用替换。当这些完成后请确保后向引用解析完后没有单引号或双引号引起的语法错误(比如:& # 39;strlen(\ \ & # 39; 1美元\ \ & # 39;)+ strlen(““2美元)& # 39;)。确保符合php的字符串语法,并且符合eval语法。因为在完成替换后,引擎会将结果字符串作为php代码使用eval方式进行评估并将返回值作为最终参与替换的字符串。

【示例】使用preg_replace()函数替换字符串。

& lt; php ?   $ string=& # 39; c biancheng净# 39;;   $=& # 39;模式/(\ \ w +) (\ \ w +)。(\ \ w +)/我# 39;;   替代美元=& # 39;http://1美元。2。3美元/php/& # 39;;   回声preg_replace(模式,替代美元,美元字符串);   ?祝辞

运行结果如下:

http://c.biancheng.net/php/

感谢你能够认真阅读完这篇文章,希望小编分享php正则表达式实现替换的方法内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!

php正则表达式实现替换的方法