如何在PHP中使用str_replace()替换“\”?

I would like to remove all back slashes from strings on my site. I do not wish to use strip_slashes(), because I want to keep forward slashes.

This is the code I am trying:

echo str_replace("\", "", "it\'s Tuesday!");

I want to find the backslash in any given string and remove it. But, this code is not working right.

Error:

syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

What could I be doing wrong?

The backslash is actually escaping the closing quote in your string.

Try echo str_replace("\\","","it\'s Tuesday!");

No sure why you are using str_replace to remove \ use

echo stripslashes("it\'s Tuesday!");

But if its just an example then

echo  str_replace("\\","","it\'s Tuesday!");

Please Note that stripslashes only remove backslashes not forward

echo stripslashes("it\'s \\ \\  // Tuesday!");

Outputs

it's // Tuesday!

From the stripslashes() documentation:

Returns a string with backslashes stripped off. (\' becomes ' and so on.) Double backslashes (\\) are made into a single backslash (\).

So you shouldn't worry about the fwd. slashes.

Try and get the result:

$str = "it\'s Tuesday!";

$remove_slash = stripslashes($str);

print_r($remove_slash);

Output: it's Tuesday!

With:

echo str_replace("\'", "'", "it\'s Tuesday!");
// It's Tuesday!