()中的匹配項會放到數組中,問題是$1和\\1有什麼不同?
争渡
争渡 2017-11-30 14:07:51
0
2
1700

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學習者快速成長!