2013-03-28 4 views
0

Кто-нибудь знает, как я буду преобразовывать следующий код в php 5.3?convert eregi to php 5.3

if (eregi('^(' . $value . ')(;q=[0-9]\\.[0-9])?$', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) { 

Благодаря

-Джеймс

ответ

0

Функции Ерег стали устаревшими, заменить их с функциями PCRE

http://www.php.net/manual/en/ref.pcre.php

http://php.net/manual/en/reference.pcre.pattern.posix.php

Редактировать:

Чтобы изменить с eregi на preg_match, вам нужно выбрать символ, который будет сервером в качестве разделителя (я часто выбираю #), и добавить после разделителя флаг i (что означает нечувствительность к регистру).

Вы пример:

if (eregi('^(' . $value . ')(;q=[0-9]\\.[0-9])?$', $this->browser_languages[$i]) 
    && isset($this->catalog_languages[$key])) {} 

Станет:

if (preg_match('#^(' . $value . ')(;q=[0-9]\\.[0-9])?$#i', $this->browser_languages[$i]) 
    && isset($this->catalog_languages[$key])) {} 

Это минимум вам нужно (обратите внимание, что вам может понадобиться использовать preg_quote() для $value, но я не добавлял его примечание усложняет ситуацию на данный момент)

еще одно примечание: если вы хотите конвертировать ereg (not eregi), вам не нужно добавлять флаг i.

+0

Спасибо, но я по-прежнему абсолютно не мудрее относительно того, как его преобразовать, поскольку я не совсем понимаю, что на самом деле делает eregi. – jimbeeer

+0

eregi - это функция для сопоставления регулярных выражений, если вы не знаете, что такое регулярные выражения, вы можете немного прочитать о них здесь. Http://en.wikipedia.org/wiki/Regular_expression – Oussama

+0

извините за мой короткий ответ, но моя ситуация в том, что я только что переместил сайт клиентов на новый сервер, и он вызывает эту ошибку на домашней странице. Я должен исправить это так быстро, как только смогу, прежде чем он заметит. Я не уверен, что я заслуживаю того, чтобы меня изменили. – jimbeeer

1

preg_match() с модификатором i (PCRE_CASELESS) является предлагаемой альтернативой.

+0

Я по-прежнему не мудрее, с каким кодом его изменить. – jimbeeer