2014-02-03 4 views
0

Вот мой исходный код перечисленных нижепредупреждение если (ошибка EREG первое, то другая ошибка

if(ereg($pattern,strtolower($this->get_domain())) && !ereg("^-|-$",strtolower($this->get_domain())) && !preg_match("/--/",strtolower($this->get_domain()))){ 

Это ошибка

Запрещены:. Функция EREG() является устаревшим в

Затем я заменил ereg на preg_match. Получаю эту ошибку

if(preg_match($pattern,strtolower($this->get_domain())) && !preg_match("^-|-$",strtolower($this->get_domain())) && !preg_match("/--/",strtolower($this->get_domain()))){ 

Предупреждение: preg_match() [function.preg матч]: Нет концовку разделителя '^' найден в

Я попытался поставить / перед ^ и после $, но до сих пор нет удачи. Могу ли я получить помощь от кого-то, кто может знать, как исправить эту ошибку.

+0

Вам просто нужно положить/до^и после $. Если вы все еще получаете такую ​​же ошибку, тогда у вас может быть включен кеш браузера/приложения, который может вызывать повторение одной и той же ошибки. –

+0

@ kuldeep.kamboj Да, я добавил/до и после $ очищенного локального кеша того же результата. может быть проблема с кэшем приложений ... hmmm – user3263765

+0

Каково содержимое '$ pattern'? – Toto

ответ

0

Добавить разделители для ваших регулярных выражений:

$pattern = "/^[a-z".$idn."0-9\-]{3,}$/";// same for "/^[a-z0-9\-]{3,}$/" 
// here __^    and here __^ 
if(preg_match($pattern, strtolower($this->get_domain())) && 
    !preg_match("/^-|-$/",strtolower($this->get_domain())) && 
    //   __^ __^ 
    !preg_match("/--/", strtolower($this->get_domain()))){ 
+0

Спасибо, что сработали. Теперь больше нет ошибок – user3263765