Re: preg_replace problem
[email protected] (Al)
| Newsgroups | php.general |
|---|---|
| Message-ID | <[email protected]> |
Shawn McKenzie wrote:
> Al wrote:
>> This preg_replace() should simply replace all "&" with "&" unless
>> the value is already "&"
>>
>> But; if $value is simple a quote character ["] I get ""e". e.g.,
>> "test" => "e;test"e;
>>
>> Search string and replace works as it should in Regex_Coach.
>>
>> echo $value.'<br />';
>> $value=preg_replace("%&(?!amp;)%i", "&", $value);
>> echo $value;
>>
>> I tried using \x26 for the "&" in the search string; didn't help.
>>
>> This seems too obvious to be a bug. Using php5.2.9
>>
>> Al.......
>
> Your code works for me, unless I'm misunderstanding the problem. With
> the following:
>
> $value = ""e;test"e;";
>
> I get:
>
> "e;test"e;<br />
> &quote;test&quote;
>
I may not have been very clear. Feed it just "test" with the quotes. You
should get back, "test" the same as you gave it. Instead, I get back
"e;test"e;
Like wise, if I give it just a single quote ["] I get back ["e;]