我使用的是this answer中描述的分隔符:
这是我用来演示问题的shell php:
我在网络项目中使用一个函数来替换路径的命名空间语法,例如:
\org\project\namespace\access
应转换为:
/org/project/namespace/access
但是我尝试了很多方法,有些人提出了以下警告:
警告:preg_replace():没有结束分隔符' /'发现于...
我不想表现出来。
上面的警告显示将其用作正则表达式:/\\/
额外:(请查看图片)为什么它会显示错误的编码字符串?
更新:为什么它不能用作this PHP Live Regex?
答案 0 :(得分:2)
您需要使用"/\\\\/"
而不是"/\\/"
,因为\\
会在PHP字符串文字中产生\
(单个反斜杠)。
为什么在这种简单的情况下使用正则表达式?坚持str_replace()
或strtr()
:
echo strtr($str, ['\\' => '/']);