Устарело: функция eregi_replace()

Я получаю следующую ошибку при работе на PHP 5.3.8

Устарело: функция eregi_replace() устарела в /home/XXXXXX/public_html/admin/modifypoll.php в строке 49.

Это строка кода, может кто-нибудь помочь, пожалуйста

$question = eregi_replace('</?[a-z][a-z0-9]*[^<>]*>', '', $question );

Я не уверен, на что его изменить. Может ли кто-нибудь помочь, пожалуйста


person Garry    schedule 30.12.2011    source источник
comment
возможный дубликат альтернативы для устаревшей функции PHP eregi_replace   -  person Steve Buzonas    schedule 31.12.2011


Ответы (2)


все семейство функций ereg устарело в PHP и в какой-то момент будет удалено из языка. Заменой является семейство preg. По большей части, изменение простое:

preg_replace('/[^<>]>/i', '', $question);
^--           ^      ^^
  1. поменять эрег на прег
  2. добавить разделители (/)
  3. для совпадений без учета регистра (eregi) добавьте модификатор i
person Marc B    schedule 30.12.2011
comment
Вам также необходимо обновить регулярное выражение - при его копировании из исходного вопроса оно было нарушено из-за отсутствия форматирования кода. - person ThiefMaster; 30.12.2011
comment
Спасибо за ответ, постараюсь сохранить это в следующий раз - person Garry; 30.12.2011

$question = preg_replace('/<\/?[a-z][a-z0-9]*[^<>]*>/i', '', $question);

Кстати, вы можете просто использовать $question = strip_tags($question); для достижения того же самого без каких-либо регулярных выражений!

person ThiefMaster    schedule 30.12.2011