* 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