|
|
|
| Привет Друзья!
Если написать так:
if (eregi("(тел.|т.|253|13|14|41|44|64|68|90|91|92|95|96)", $msg)) {echo "бла-бла-бла какоето сообщение"; exit;}
|
Вот эта строка всегда ругается на содержание текста, независимо от того что в нем написано или не написано,
все из-за наличия в ней "т."
Если написать код так:
if (eregi("(253|13|14|41|44|64|68|90|91|92|95|96)", $msg)) {echo "бла-бла-бла какоето сообщение"; exit;}
|
Без "т." код работает правильно (условие срабатывает только при наличии в тексте чего-то из перечисленного).
Почему срабатывает(глючит?) если добавить "т." ???
С уважением, Георгий | |
|
|
|
|
|
|
|
для: Gеоргий
(05.07.2010 в 02:38)
| | 1. Не в том разделе тему создали
2. Вместо eregi лучше использовать более современные preg_*
3. Какой литерал означает точка в рег.выражениях? | |
|
|
|
|
|
|
|
для: Gеоргий
(05.07.2010 в 02:38)
| | судя по смыслу тут точка должна быть точкой? то есть экранировать надо \. | |
|
|
|
|
|
|
|
для: Lexus1991
(07.07.2010 в 14:11)
| | Lexus1991, да точка должна быть точкой,
но почему-то вот в этой конструкции:
if (eregi("(http|://|www.|href|/a)", $msg)) {echo "бла-бла-бла другое сообщение"; exit;}
|
такой ерунды не происходит, и все работает.
Для neadekvat - че ж не та тема? я в форуме php пишу, а не где-то. | |
|
|
|
|
|
|
|
для: Gеоргий
(09.07.2010 в 02:41)
| | >Для neadekvat - че ж не та тема? я в форуме php пишу, а не где-то.
Потому что обсуждать собрались регулярное выражение.
Для этого есть раздел двумя шагами правее. | |
|
|
|