SEO Сообщество: Спрашивайте и помогайте

Присоединяйтесь к сообществу профессиональных веб-мастеров PR-CY, отвечайте на вопросы коллег и задавайте свои.

Q&A SEO

замена ereg на preg_match

Olorin Olorin  
1
  07.12.2012 02:07       2 102    
Помогите пожалуйста заменить ereg на preg_match
 if( (! ereg( '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' . '@' . '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email )) or (empty( $email )) ) $stop .= $lang['reg_err_6'];
гуглил, там вроде все просто, но тут не выходит, ошибку выдает)


Ответы на пост (11) Написать ответ
isvetlichniy isvetlichniy
21
07.12.2012 05:12
preg_match( '/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`a-z{|}~]+' . '@' . '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\.\/0-9=?A-Z^_`a-z{|}~]+$/', $email );

наслаждайся
0
Решение
isvetlichniy isvetlichniy
21
07.12.2012 05:13
все слеши в регулярке надо экранировать обратным слешем
0
Olorin Olorin
1
08.12.2012 12:49
спасибо, вроде работает)
0
milko milko
282
07.12.2012 02:11
не я одна сегодня с бубном )))
0
isvetlichniy isvetlichniy
21
07.12.2012 02:23
ereg( '/^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' . '@' . '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$/', $email )
0
isvetlichniy isvetlichniy
21
07.12.2012 02:24
забыл тока изменить функцию
вот так будет правильно

preg_match( '/^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' . '@' . '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$/', $email )
0
isvetlichniy isvetlichniy
21
07.12.2012 02:25
то есть регулярное выражение нужно заключить между //, чтобы вышло вот так
preg_match ('/pattern/', str)
0
Olorin Olorin
1
07.12.2012 02:37
Ну / / я тоже доабвлял, но вылазит ошибка Warning: preg_match(): Unknown modifier '0' in /home/user/www/site/engine/modules/register.php on line 52
52 строчка с этим кодом
на младшей версии php все отлично работало
0
vachsam vachsam
41
07.12.2012 10:36
Можно проще поступить.
Если есть доступ к php.ini

В общем, открываем файл настройки PHP (php.ini) и ищем
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
; http://php.net/mbstring.func-overload
; mbstring.func_overload = 0 (не забудьте убрать символ ";")

0 - Оставить все без изменений.
1-4 Включить одну из функций.
7 - Включить сразу все функции.

Слово "включить" тут не совсем корректно. Речь идет об включении поддерживания старых функций, при этом новые будут отключены.
0
isvetlichniy isvetlichniy
21
07.12.2012 11:04
vachsam, можно, но не нужно. зачем возвращаться к старому?
0
vachsam vachsam
41
07.12.2012 11:15
Согласен. Не зачем.


Но каждый раз переписывать скрипты под новые версии php тоже не выход.
0