2011-09-22 4 views
1

J'ai un problème avec la fonction str_replace(). J'ai ce code:Fonction str_replace ne fonctionne pas

$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))); 

Et le résultat de var_dump est à nouveau:

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

Avez-vous une idée où est le problème?

Répondre

7

Le \r dans une chaîne entre guillemets doubles a une signification spéciale. PHP l'interprète comme un caractère de retour chariot.

Soit utiliser des guillemets simples:

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

Ou échapper à toutes vos barres obliques:

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

Voir la list of escape sequences in double-quoted strings.

2

Vous devez échapper \ symboles:

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