[請益] 反斜線(\)取代問題

看板PHP作者 (路人甲)時間8年前 (2017/04/12 16:22), 編輯推噓1(1012)
留言13則, 4人參與, 最新討論串1/1
php程式碼1: <? $PathString = 'C:\AppServ\www\test'; print preg_replace('/e/','',$PathString); ?> 結果: C:\AppSrv\www\tst php程式碼2: <? $PathString = 'C:\AppServ\www\test'; print preg_replace('/\/','',$PathString); ?> 結果: Warning: preg_replace() [function.preg-replace]: No ending delimiter '/' found 預期結果: C:AppServwwwtest 如果想得到[預期結果],反斜線取代掉,那麼[php程式碼2]應該怎麼改呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.157.139 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1491985331.A.F93.html

04/12 16:29, , 1F
str_replace("\\", '', $whatever)
04/12 16:29, 1F

04/12 16:33, , 2F
樓上謝謝. 但還是想知道preg_replace()怎麼寫?
04/12 16:33, 2F

04/12 16:34, , 3F
因為複雜一點的字串,例如 .*\ 取代掉,變成test字串
04/12 16:34, 3F

04/12 16:35, , 4F
要弄出複雜一點的字串,就必須用preg_replace()
04/12 16:35, 4F

04/12 17:41, , 5F
一樣阿 你在php內要表示 \ 就一定要寫成 \\
04/12 17:41, 5F

04/12 17:45, , 6F
然後要寫在regex裏面 所以再寫一次變成\\\\
04/12 17:45, 6F

04/12 17:47, , 7F
實在太煩了 是我就不會考慮這樣
04/12 17:47, 7F

04/12 17:53, , 8F
print preg_replace('/\\\\/','',$PathString);
04/12 17:53, 8F

04/12 17:54, , 9F
原來是這樣. 再次感謝.
04/12 17:54, 9F

04/12 17:55, , 10F
preg_replace('/\x5c/','',$PathString)
04/12 17:55, 10F

04/12 17:56, , 11F
另外一個方法 \x5c
04/12 17:56, 11F

04/13 07:54, , 12F
路徑那邊用'C:\\AppServ\\...'或'C:/AppServ/...'會好一點
04/13 07:54, 12F

04/14 02:01, , 13F
傾斜牙籤症候群 XD
04/14 02:01, 13F
文章代碼(AID): #1OxUEp-J (PHP)
文章代碼(AID): #1OxUEp-J (PHP)