Jochem Maas wrote:
Arpad Ray wrote:
return preg_replace('#%5[bd](?=[^&]*=)#ei', 'urldecode("\0")', $s);
could you explain your regexp - I'd like to replace my version with
your (if for no other reason than that shorter code is easier to read than
longer code!) BUT until I really understand your regexp I'd feel 100% 
comfortable
making the replacement.
Basically, if we find a '=' before a '&' then we know we're in the key.
The (?=) is a positive assertion, which says that the bracket must be followed by a '=', optionally with any characters except '&' in between.
Here's the pattern with comments:

~
   %5[bd]      # the bracket
   (?=         # must be followed by
       [^&]*   # any characters except "&"
       =       # then a "="
   )
~eix

Regards,

Arpad

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to