函数str_replace不起作用

时间:2011-09-22 16:03:17

标签: php str-replace

我的函数str_replace()有问题。我有这段代码:

$headImageName = "C:\Program Files\EasyPHP-5.3.3.1\www\realitka/headImages/hImageMini4e7b5a6ea8c95Pyro.png";

die(var_dump(str_replace("C:\Program Files\EasyPHP-5.3.3.1\www\realitka/", "", $headImageName)));

var_dump的结果又是:

string(88) "C:\Program Files\EasyPHP-5.3.3.1\www\realitka/headImages/hImageMini4e7b5bae39148Pyro.png"

你知道问题出在哪里吗?

2 个答案:

答案 0 :(得分:7)

双引号字符串中的\r具有特殊含义。

PHP将其解释为回车符。

使用单引号:

str_replace('C:\Program Files\EasyPHP-5.3.3.1\www\realitka/', "", $headImageMiniName)

或者逃避所有斜线:

str_replace("C:\\Program Files\\EasyPHP-5.3.3.1\\www\\realitka/", "", $headImageMiniName)

请参阅 list of escape sequences in double-quoted strings

答案 1 :(得分:2)

您需要转义\符号:

str_replace("C:\\Program Files\\EasyPHP-5.3.3.1\\www\\realitka/", "", $headImageName)