重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了php正则替换所有符合条件字符串的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
延平网站建设公司创新互联,延平网站设计制作,有大型网站制作公司丰富经验。已为延平成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的延平做网站的公司定做!
在php中可以使用“preg_replace”函数替换所有符号匹配条件的元素,其语法是【 preg_replace (正则表达式, 替换成, 字符串, 最大替换次数【默认-1,无数次】, 替换次数)】。
PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素
需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的。
比如模版引擎解析模版、垃圾敏感信息过滤等等。
一般这种情况,我们用正则按我们的规则去匹配preg_match、替换preg_replace。
但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少。
根据前面说的,两种场景:统计分析,用匹配;处理用替换。
PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素。
代码如下:
preg_replace (正则表达式, 替换成, 字符串, 最大替换次数【默认-1,无数次】, 替换次数)
大部分语言的正则表达式都是差不多的,不过也有细微的差异。
PHP 正则表达式定界符
大多数语言的正则表达式都是由“/”作为定界符的,而在PHP中,还可以使用“#”定界,如果字符串中包含大量“/”字符,在使用“/”定界的时候,就需要对这些“/”转义,而使用“#”就不需要转义,更简洁。
PHP 正则中文和忽略大小写PHP preg_replace() 是区分大小写的,同时只能匹配ASCII编码内的字符串,如果需要匹配不区分大小写和中文等字符需要添加相应的修饰符 i 或 u。
PHP 正则表达式在遇到换行符时,会将换行符当做字符串中间一个普通字符。而通用符号.不能匹配\n,所以遇到带有换行符的字符串正则会有很多要点。
正则替换匹配变量向后引用
如果您熟悉Javascript,一定对$1 $2 $3 …… 等向后引用比较熟悉,而在 PHP 中这些也可以被当作向后引用参数。而在PHP中,还可以使用 \1 \1 来表示向后引用。
向后引用的概念就是匹配一个大片段,这个正则表达式内部又被用括号切割成若干小匹配元素,那么每个匹配元素就被按照小括号序列用向后引用代替。
网址:$2
商标:$3',$weigeti); /* 栏目:W3CSchool 在线教程 网址:http://www.jb51.net 商标:Jbzj! */ // 括号中括号,外面括号先计数 echo preg_replace('/^((.+)网址:(http\:[\w\-\/\.]+\/)[^\w\-\!]+([\w\-\!]+).+)$/','原文:$1
栏目:$2
网址:$3
商标:$4',$weigeti); /* 原文:W3CSchool 在线教程网址:http://www.jb51.net ,你Jbzj!了吗? 栏目:W3CSchool 在线教程 网址:http://www.jb51.net 商标:Jbzj! */ ?>
感谢你能够认真阅读完这篇文章,希望小编分享php正则替换所有符合条件字符串的方法内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!