作者OSDBNetwork (路人甲)
看板PHP
标题[请益] 反斜线(\)取代问题
时间Wed Apr 12 16:22:09 2017
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://webptt.com/cn.aspx?n=bbs/PHP/M.1491985331.A.F93.html
1F:→ MOONRAKER: str_replace("\\", '', $whatever) 04/12 16:29
2F:→ OSDBNetwork: 楼上谢谢. 但还是想知道preg_replace()怎麽写? 04/12 16:33
3F:→ OSDBNetwork: 因为复杂一点的字串,例如 .*\ 取代掉,变成test字串 04/12 16:34
4F:→ OSDBNetwork: 要弄出复杂一点的字串,就必须用preg_replace() 04/12 16:35
5F:→ MOONRAKER: 一样阿 你在php内要表示 \ 就一定要写成 \\ 04/12 17:41
6F:→ MOONRAKER: 然後要写在regex里面 所以再写一次变成\\\\ 04/12 17:45
7F:→ MOONRAKER: 实在太烦了 是我就不会考虑这样 04/12 17:47
8F:→ OSDBNetwork: print preg_replace('/\\\\/','',$PathString); 04/12 17:53
9F:→ OSDBNetwork: 原来是这样. 再次感谢. 04/12 17:54
10F:→ OSDBNetwork: preg_replace('/\x5c/','',$PathString) 04/12 17:55
11F:→ OSDBNetwork: 另外一个方法 \x5c 04/12 17:56
12F:→ dinos: 路径那边用'C:\\AppServ\\...'或'C:/AppServ/...'会好一点 04/13 07:54
13F:推 LPH66: 倾斜牙签症候群 XD 04/14 02:01