()中的匹配项将放到数组中,问题是$1和\\1有什么不同?
争渡
争渡 2017-11-30 14:07:51
0
2
1696

ubb文本编辑,preg_replace($pattern,$replace,$stirng);

争渡
争渡

全部回复(1)
 

我看手册说\1和$1都一样的。

手册原话:replacement中可以包含后向引用\n或$n,语法上首选后者每个这样的引用将被匹配到的第n个捕获子组捕获到的文本替换。 n可以是0-99,\0和$0代表完整的模式匹配文本。 捕获子组的序号计数方式为:代表捕获子组的左括号从左到右, 从1开始数。如果要在replacement 中使用反斜线,必须使用4个("\\",译注:因为这首先是php的字符串,经过转义后,是两个,再经过正则表达式引擎后才被认为是一个原文反斜线)。 

  • 回复 如果说区别的话就是:preg_replace() 不知道我们想表达的是\11还是\1 1(第二个1是字符串1)。所以用${1}1可以让preg_replace()知道第一个1是反向引用,第二个1只是紧跟着反向引用后面原文的1。
      作者 2018-01-29 16:00:36
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!