Heim  >  Fragen und Antworten  >  Hauptteil

Die Übereinstimmungen in () werden in das Array eingefügt. Die Frage ist, was der Unterschied zwischen $1 und \\1 ist.

ubb-Textbearbeitung, preg_replace($pattern,$replace,$stirng);

争渡争渡2537 Tage vor1702

Antworte allen(2)Ich werde antworten

  •  

     2018-01-29 15:54:48

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

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

    Antwort
    0
  •  

    如果说区别的话就是:preg_replace() 不知道我们想表达的是\\11还是\\1 1(第二个1是字符串1)。所以用${1}1可以让preg_replace()知道第一个1是反向引用,第二个1只是紧跟着反向引用后面原文的1。

      · 2018-01-29 16:00:36
  • StornierenAntwort