Hi.
On Saturday 13 June 2009, Al wrote:
> 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 Shawn, I have tried your code in isolation and only get the expected
results. I looped it over a few test values:
<?php
$valueList = array('"','"test"','"test&test"','"test&test"');
echo "<pre>\n\n";
foreach ($valueList as $value) {
echo "Before: $value\n";
$value=preg_replace("%&(?!amp;)%i", "&", $value);
echo "After: $value\n\n";
}
echo '</pre>';
?>
outputs (ignoring <pre> as that was just to remove the <br /> for easy
reading):
Before: "
After: "
Before: "test"
After: "test"
Before: "test&test"
After: "test&test"
Before: "test&test"
After: "test&test"
The only conclusion is that something else in your code is converting the
quotes. Have a look around.
HTH
Mark
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php