【发布时间】:2026-01-23 04:50:01
【问题描述】:
有一个 2011 年的老问题,但答案有误。
也许现在有人可以给出更好的答案。问题是:我们如何用这个变量链接中的正斜杠替换反斜杠:
$str = "http://www.domain.com/data/images\flags/en.gif";
错误的答案是:
echo $str = str_replace('\\', '/', $str);
这是错误的,因为该代码的结果改变了链接的内容。 (http://www.domain.com/data/imageslags/en.gif)
它不仅找到了反斜杠,还找到了后面的字母 f 并将它们删除,因为\f 的意思是“formfeed (hex 0C)”。那么我们如何才能避免这种错误的替换呢?
【问题讨论】:
-
首先,谁在 url 中有表单提要?
-
$str 可以用单引号吗?我认为这应该工作
-
我觉得没关系
-
嗨,@stribizhev 您的代码也将 \flags 更改为 /lags。 :(
-
如果我不知道反斜杠的下一个字符是什么,我该怎么办?也许其他地方是 \e 或 \n。我应该为所有人做同样的事情吗?