Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка / ссылка / не ссылка
 
 автор: lgar   (26.04.2012 в 17:45)   письмо автору
 
 

if(!preg_match("#http://[-a-z0-9_.]+[-a-z0-9_:@&?=+,.!/~*'%$]*\.(html?|php|pl|cgi)|#", "$url")) exit("URL");


Не пойму где ошибка, любые значения принимает, пустую строку принимает, саму ссылку принимает, то есть по идее, если поле пустое или содержит НЕ ссылку, должен exit срабатывать, тут как решето все пропускает.

  Ответить  
 
 автор: cheops   (26.04.2012 в 17:48)   письмо автору
 
   для: lgar   (26.04.2012 в 17:45)
 

У вас в $url только URL? Тогда укажите начало ^ и конец $ строки.
if(!preg_match("#^http://[-a-z0-9_.]+[-a-z0-9_:@&?=+,.!/~*'%$]*\.(html?|php|pl|cgi)|$#", "$url")) exit("URL");

  Ответить  
 
 автор: Sfinks   (26.04.2012 в 20:19)   письмо автору
 
   для: lgar   (26.04.2012 в 17:45)
 

| в конце уберите

  Ответить  
 
 автор: cheops   (27.04.2012 в 17:07)   письмо автору
 
   для: Sfinks   (26.04.2012 в 20:19)
 

| - это я так понимаю для ситуации, когда строка пустая... пожалуй нужно еще поправить будет выражение
if(!preg_match("#^(http://[-a-z0-9_.]+[-a-z0-9_:@&?=+,.!/~*'%$]*\.(html?|php|pl|cgi)|)$#", "$url")) exit("URL");

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования