|
Posted by Gordon on 01/10/08 09:55
On Jan 10, 8:19 am, jodleren <sonn...@hot.ee> wrote:
> Hi all
>
> I have text area, where I can edit files - but I have to correct the
> returned data, for that I use
>
> $content=str_replace('\"', '"', $content);
> and
> $content=str_replace('\\', '\', $content);
>
> by some reason the latter one causes an error: syntax error,
> unexpected T_VARIABLE in....
> Replacing :-) it by
>
> $content=str_replace("\\\\", "\\", $content);
>
> and it works
>
> what is wrong with '\\' ?
>
> WBR
> Sonnich
It's because the backslash character is used for escaping characters
in strings, in other words telling the parser to treat the following
character as its literal value instead of the special meaning it may
have in the language. For example the ' character closes a single
quoted string, so if you want to use that character inside a string
you have to enter it as \' which basically tells the parser "Don't end
the string with this ' symbol, insert the ' character into the string
instead".
As the \ character has a sepcial meaning if you want to insert it then
you have to escape it, resulting in \\
If the intention is to remove slashes from form-submitted data (which
is what I suspect you are trying to do) then you might want to look
into using the stripslashes () function instead.
[Back to original message]
|