Регулярные выражение проверка URL адреса

Полная проверка URL может быть весьма запутанной . С появлением национальных доменов и имен, написанных на кириллице (китайском и других языках), строка для проверки любого URL адреса может растянуться на несколько тысяч знаков.

Мы сегодня рассмотрим несколько простых примеров проверки URL адреса.
Для начала адрес с протоколом, именем домена и доменной зоной (без слеша на конце) http://weblomaster.ru

$pattern = "/^(https?:\/\/)([a-z0-9-]{1,99}).([a-z]{2,4})$/i";
/* шаблон регулярного выражения */
$url = "http://weblomaster.ru";
if (!preg_match($pattern,$url)) {
echo "URL не соответствует формату.";
}
else echo "URL указан верно.";

Разберем строку шаблона. В первых скобках указан протокол http, причем, как видно из буквы s со знаком вопроса, протокол может принимать форму https при необходимости.
Следующие скобки отвечают за имя домена. До прихода в URL-адреса кириллических и других национальных символов, имена доменов состояли только из латинских букв (от a до z) , цифр и знака тире. В нашем шаблоне допускается имя длинной от 1 символа до 99 символов. Более длинные URL мало распространены. Тем не менее, Вы можете указать большую цифру на Ваш вкус, например так: {1,255}.
После имени домена, указана точка , разделяющее домен от доменной зоны. Традиционные доменные зоны состоят из букв латинского алфавита и редко превышают 4 символа. Минимальное количество символов – два.

Опубликовано 04.07.2014 в 17:56 · Автор Вебдизайнеру, сисадмину, вебмастеру · Ссылка
Рубрики: PHP программирование · Теги: , , , , ,