On 14 March 2011 20:36, Hannes Landeholm <landeh...@gmail.com> wrote:
> What is more likely to be wrong? Your understanding of a specific
> regex pattern (which happens to be full of escapes making it
> incredibly hard to read) or the implementation of preg_replace?
>
> ~Hannes
>
> On 14 March 2011 16:18, Martin Scotta <martinsco...@gmail.com> wrote:
>>
>> I chose the simplest example to show the preg_replace behavior, there are
>> better (and safer) ways to scape slash characters.
>> Anyways, *is this the expected preg_replace behavior?*
>>
>>  Martin
>>
>> <?php
>> function test($str) {
>>    static $re = '/(^|[^\\\\])\'/';
>>    static $change = '$1\\\'';
>>
>>    echo $str, PHP_EOL,
>>        preg_replace($re, $change, $str), PHP_EOL, PHP_EOL;
>> }
>>
>> test("str '' str"); // bug?
>> test("str \\'\\' str"); // ok
>> test("'str'"); // ok
>> test("\'str\'"); // ok
>>
>> ----
>> Expected:
>>
>> str '' str
>> str \'\' str
>>
>> str \'\' str
>> str \'\' str
>>
>> 'str'
>> \'str\'
>>
>> \'str\'
>> \'str\'
>>
>> ----
>> Result:
>>
>> str '' str
>> str \'' str
>>
>> str \'\' str
>> str \'\' str
>>
>> 'str'
>> \'str\'
>>
>> \'str\'
>> \'str\'
>>
>>
>>  Martin Scotta
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

Did no one see why the regex was wrong?

RegexBuddy (a windows app) explains regexes VERY VERY well.


-- 
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to