* Thus wrote jonas_weber @ gmx. ch ([EMAIL PROTECTED]):
> Am Mittwoch, 01.10.03 um 22:27 Uhr schrieb Chris W. Parker:
> >Seeing as how you haven't had a response yet, I'll ask this: what
> >exactly is your question? I'm not sure as to what it is that you want.
>
> My question are:
> a) Why does the PHP manual say that backslashes get escaped by writing
> them twice while this causes an error in my example (see below)?
'\\' always gets translated to '\' So the string:
'/(\\)/' translates to '/(\)/' which is an invalid regex, you'll
get a complaint about unclosed paren.
> b) Why does a different input (2.1. and 2.2.) result in the same output
> (in the example I enclosed)?
try:
echo "beg \\ end\n";
echo "beg \ end\n";
Answer is also mentioned above.
> c) Why do I hate regular expressions so much?
perhaps because you're using them wrong.
>
> Choose one.
I've answered all 5 of em so far.
> >1. The PHP manual sais to escape the escape char, it has to be written
> >twice*, but:
> >$term = preg_replace('/(\\)/', 'backslash $1', $term);
> >causes an error** while using three backslashes (see 2.) works.
> >
> >2.1.
> >$term = "beg \ end";
> >print preg_replace('/(\\\)/', 'backslash $1', $term);
> >returns: beg backslash \ end
> >
> >2.2.
> >$term = "beg \\ end";
> >print preg_replace('/(\\\)/', 'backslash $1', $term);
> >returns: beg backslash \ end (the same as 2.1.)
> >
> >2.3.
> >$term = "beg \\\ end";
> >print preg_replace('/(\\\)/', 'backslash $1', $term);
> >returns: beg backslash \backslash \ end
> >
> >* http://www.php.net/manual/en/pcre.pattern.syntax.php
> >** "Warning: Compilation failed: missing ) at offset 3 in
> >/home/jonas/public_html/test01.php on line 3"
Curt
--
"I used to think I was indecisive, but now I'm not so sure."
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php