看板 PHP 關於我們 聯絡資訊
※ 引述《saininniang (sob)》之銘言: : ※ 引述《foxzgerald (O⊥M)》之銘言: : : 上頭的範例有些問題,我將改過的地方以黃色顯示: : : $patterns=array("/((19|20)\d{2})-(\d{1,2})-(\d{1,2})/", "/^\s*{(\w+)}\s*=/"); : : $replace = array("\\3/\\4/\\1", "$\\1="); : : print preg_replace($patterns, $replace, "{startDate} = 1969-6-19"); : : x x x : 有幾點疑問 : 1. : $patterns 的 array[1] "/^\s*{(\w+)}\s*=/" : 和 : $replace 的 array[1] "$\\1=" : 似乎沒有什麼用處,是多寫的嗎? : 因為好像不須要寫也能preg_replace一樣的結果? 他把 {startDate} 置換成 $startDate 了 不寫的話,那就只是 {startDate} = 6/19/1969 而非 $startDate = 6/19/1969 : 2. : $patterns =........./^\s*{(\w+)}\s*=/"); : $replace =.................... "$\\1="); : 最後面的 = 是什麼意思阿? 就 "=" 這個符號阿 $\\1= 會將符合 /^\s*{(\w+)}\s*=/ 樣式的字串置換為 $(\w+)= 也就是將 {startDate} 變成 $startDate= -- 「640K ought to be enough for anybody.!」 - Bill Gates - -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.199.121 ※ 編輯: foxzgerald 來自: 140.119.199.121 (12/15 22:49)