Для перебора массива я бы использовал foreach, удобнее:
Может были какие то вмешательства в engine/modules/topnews.php ?
Нашел в гугле ...
SEO-MAN, в php есть регулярные выражения, можно с их помощью привести ваши данные в нормльный вид, я выше писал уже цикл перебора, определитесь с символами которые надо удалить и что еще вам надо с ними сделать и напишите, помогу с регуляркой.
Так же регурярки есть в mysql.
Может так:
Вообще есть предположение что NOT IN (1,2) не срабатывает из за несовпадения типа данных, ищет числовой int тип, а в базе у вас varchar, возможно сработает так: NOT IN ('1','2').
Посмотрите в каком виде декодированная строка в php. Может что то не так.
Думаю вам поможет это.
Все очень просто, eval заменяешь на echo и запускаешь в любом php скрипте:
Ты расшифровал лишь base64encode, получил данные, запакованные в gzdeflate.
Antonsad, говорил же - заменяйте файл если не знаете php.
По делу:
Нельзя, расшифруйте и увидите почему. Заменить на:
SEO-MAN, у вас данные в базу без фильтрации проходят? Не проще ли перед занесением данных в бд - фильтровать их по всем нужным параметрам, удалять спец символы?
Опять же я думаю проще будет единоразово перебрать все поля в таблице, попутно проверяя значения на спецсимволы, удалять их или экранировать и сразу заносить новое значение в бд.