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 "&quote". e.g.,
"test" => &quote;test&quote;

Search string and replace works as it should in Regex_Coach.

echo $value.'<br />';
$value=preg_replace("%&(?!amp;)%i", "&amp;", $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


Your code works for me, unless I'm misunderstanding the problem.  With
the following:

$value = "&quote;test&quote;";

I get:

&quote;test&quote;<br />

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 &quote;test&quote;

Like wise, if I give it just a single quote ["] I get back [&quote;]

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to