Re: [請益] preg_replace用法?
※ 引述《KiroKu ()》之銘言:
: preg_replace("/%(.*)%/",$q->{"\\1"},$x);
: 如果$x包含 %name%就使用$q->name去取代。
: 第二個參數試過"\\1",出來應該是name沒有錯,
: 但是$q->{"\\1"}似乎取不出來?
: 或是有更好的寫法嘛?因為這樣好像一次也只能作單一取代
: 遇到"%name% %title%"就不行了。
請注意語意..
preg_replace('/A/','B',$s);
會換成B"字串"
preg_replace("/%(.*)%/",$q->{"\\1"},$x);
會換成你var_dump($q->{"\\1"})看到的那個字串 被preg處理後的結果
可以猜測$q->{"\\1"}什麼都沒有
preg_replace的第二個參數 是 "字串" 不是expression
你的用途
請用
preg_replace("/%(.*)%/e",'$q->{"\\1"}',$x);
不過用e我不確定會不會有什麼安全問題
如果他都有幫你正確的escape號應該是ok
但我沒注意過
--
國愛‧主民‧學科‧康健‧道人
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.231.23
※ 編輯: buganini 來自: 220.135.231.23 (03/07 00:16)
→
03/07 00:17, , 1F
03/07 00:17, 1F
→
03/07 00:17, , 2F
03/07 00:17, 2F
推
03/07 00:47, , 3F
03/07 00:47, 3F
推
03/07 00:54, , 4F
03/07 00:54, 4F
→
03/07 01:10, , 5F
03/07 01:10, 5F
→
03/07 01:10, , 6F
03/07 01:10, 6F
→
03/07 01:12, , 7F
03/07 01:12, 7F
→
03/07 01:12, , 8F
03/07 01:12, 8F
→
03/07 01:14, , 9F
03/07 01:14, 9F
→
03/07 01:14, , 10F
03/07 01:14, 10F
→
03/07 01:15, , 11F
03/07 01:15, 11F
→
03/07 01:16, , 12F
03/07 01:16, 12F
→
03/07 01:17, , 13F
03/07 01:17, 13F
→
03/07 01:18, , 14F
03/07 01:18, 14F
→
03/07 01:18, , 15F
03/07 01:18, 15F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章