Мне нужно использовать этот PHP фрагмент для преобразования &
в амперсанд.Я использую тот же тестовый код, который написал Пол Диксон, но в моем коде не заменяются амперсанды.Зачем?Я использую PHP 5.2.6.
$str_fix = preg_replace('/&(?!#?[a-z0-9]+;)/', '&', $str);
Следующее, более простое, но неправильное (оно также заменит &
в &
) регулярное выражение работает:
$str_fix = preg_replace('/&/', '&', $str);
РЕДАКТИРОВАТЬ: Черт, проблема не в regexp / PHP, а в Drupal!Да, я использую этот фрагмент в модуле Drupal и по какой-то причине Drupal конвертирует &
в &
.