2011-07-24 136 views
21

str_replace()函数,我有以下网址:与前更换反斜杠反斜杠在PHP

$str = "http://www.domain.com/data/images\flags/en.gif"; 

我使用str_replace尝试替换前反斜杠反斜杠:

$str = str_replace('/\/', '/', $str); 

一点也没有“T似乎工作,这是结果:

http://www.domain.com/data/images\flags/en.gif 

回答

59

你必须把双反斜线

$str = str_replace('\\', '/', $str); 
+0

@Subdigger:从技术上讲,这是不正确的,但你可以等待一段时间,让他修复代码... – Dor

+2

@genesis你的答案是一样的,他的。 –

+0

见下_You需要逃避“\”以及。编辑后 – Subdigger

11
$str = str_replace('\\', '/', $str); 
6

没有正则表达式,所以不需要//。

这应该工作:

$str = str_replace("\\", '/', $str); 

你需要逃脱 “\” 为好。

+0

这是行不通的 – Subdigger

+0

@Subdigger:发帖软件所取代我的双斜线的一个,因为我忘了使用“代码”块。你真的很蹩脚,然后发布完全相同的解决方案。 – Sylverdrag

+0

@Sylverdrag:其实Subdigger是第一个答案的海报;) – genesis

1

你需要逃避反斜杠以\

$str = str_replace ("\\", "/", $str); 
+1

这将无法正常工作... – genesis

+0

对不起,编辑逃脱了我的反斜杠之一! – Hadu

2

单引号的PHP字符串变量的作品。

$str = 'http://www.domain.com/data/images\flags/en.gif'; 
$str = str_replace('\\', '/', $str);