Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Регулярка
Форумы портала PHP.SU » » Вопросы новичков » Регулярка

Страниц (1): [1]
 

1. Tox - 08 Мая, 2012 - 14:43:04 - перейти к сообщению
Есть регулярное выражение -
/^[a-zA-Z0-9]+$/
как добавить в него еще возможность наличия "/" и ":" ? Оно будет использоваться при проверке введенного url, я читал здесь статьи с уже готовыми вариантами(preg match и тд), но я не совсем понимаю регулярки, поэтому хочу разобраться.
И как в предыдущее выражение добавить, например, адрес домена?
2. Wol_fi - 08 Мая, 2012 - 14:53:09 - перейти к сообщению
Tox пишет:
Есть регулярное выражение -
/^[a-zA-Z0-9]+$/
как добавить в него еще возможность наличия "/" и ":" ? Оно будет использоваться при проверке введенного url, я читал здесь статьи с уже готовыми вариантами(preg match и тд), но я не совсем понимаю регулярки, поэтому хочу разобраться.
И как в предыдущее выражение добавить, например, адрес домена?

/^[\w | \/ | \: | \.]+$/ - вот, вы забыли к необходимым символам точку ещё.
Но если вам нужно проверить URL то в php есть функция filter_var(), вот пример:
PHP:
скопировать код в буфер обмена
  1. $url = filter_var('http://google.ru', FILTER_VALIDATE_URL);
  2. if($url)
  3. {
  4.   echo "Правильный адрес";
  5. }
  6. else
  7. {
  8.   echo "Введенные данные не является адресом";
  9. }
3. Tox - 08 Мая, 2012 - 14:57:25 - перейти к сообщению
Спасибо, просто думал можно как-то без filter_var обойтись Улыбка
4. brigz - 08 Мая, 2012 - 15:03:00 - перейти к сообщению
Функция, которую использую я для проверки URL на валидность (в том числе и кириллических доменов).
PHP:
скопировать код в буфер обмена
  1. function siteurl($siteurl) {
  2.                 return preg_match("~^(?:(?:http)://(?:[a-z0-9_-]{1,32}".
  3.                         "(?::[a-z0-9_-]{1,32}))?)?(?:(?:[a-zа-яё0-9-]{1,128}\.)+(?:com|net|".
  4.                         "org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-zрф]{2}))+(\/)?$~i", $siteurl);
  5.         }
5. OrmaJever - 08 Мая, 2012 - 15:29:28 - перейти к сообщению
6. Okula - 08 Мая, 2012 - 16:22:10 - перейти к сообщению

 

Powered by ExBB FM 1.0 RC1