Re: Backslash confusion
am 16.04.2008 09:43:37 von freelance71
"Erwin Moller"
wrote in
message news:4805abe9$0$14343$e4fe514c@news.xs4all.nl...
> freelance71 schreef:
>> I have to pass the string '\abcd' to a function. Ofcourse one (or two)
>> extra '\' is needed to escape but experimenting with it shows that I have
>> to pass three extra backslashes to make it work.
>>
>>
>>
>>
>> /* this function is in another file */
>>
>> function displayLatex(q) {
>>
>>
>> alert(q); /* this shows \abcd when called by above script*/
>>
>> }
>>
>>
>> Can anyone explain why this is so? why 4 backslashes?
>
> I do not understand.
> Your script alerts \\abcd over here (on FF), as expected.
> There must be more to it than you describe.
>
> Regards,
> Erwin Moller
can it be because I'm using it in a PHP file like this?
echo <<< HTMLOUT
HTMLOUT;
?>
Re: Backslash confusion
am 16.04.2008 10:27:09 von Erwin Moller
freelance71 schreef:
> "Erwin Moller"
> wrote in
> message news:4805abe9$0$14343$e4fe514c@news.xs4all.nl...
>> freelance71 schreef:
>>> I have to pass the string '\abcd' to a function. Ofcourse one (or two)
>>> extra '\' is needed to escape but experimenting with it shows that I have
>>> to pass three extra backslashes to make it work.
>>>
>>>
>>>
>>>
>>> /* this function is in another file */
>>>
>>> function displayLatex(q) {
>>>
>>>
>>> alert(q); /* this shows \abcd when called by above script*/
>>>
>>> }
>>>
>>>
>>> Can anyone explain why this is so? why 4 backslashes?
>> I do not understand.
>> Your script alerts \\abcd over here (on FF), as expected.
>> There must be more to it than you describe.
>>
>> Regards,
>> Erwin Moller
>
>
> can it be because I'm using it in a PHP file like this?
Yes. That is the reason.
>
>
>
> echo <<< HTMLOUT
>
>
>
> HTMLOUT;
>
> ?>
>
>
Re: Backslash confusion
am 16.04.2008 11:37:24 von PointedEars
freelance71 wrote:
>> freelance71 schreef:
>>> I have to pass the string '\abcd' to a function. Ofcourse one (or two)
>>> extra '\' is needed to escape but experimenting with it shows that I have
>>> to pass three extra backslashes to make it work.
> [...]
> can it be because I'm using it in a PHP file like this?
>
>
>
> echo <<< HTMLOUT
>
>
>
> HTMLOUT;
>
> ?>
Yes, you have to escape each backslash for use with `echo'. A simple test
(with php -a) shows that
echo <<
var q = '\\a';
HTML;
?>
displays only one backslash.
The simple and most efficient solution is to take heed of this general
advice: Do not let the PHP parser do things it does not have to.
...
?>
var q = '\\a';
...
?>
(The first and last part are optional, of course.)
F'up2 cl.php
PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann