valid_url
includes/common.inc, строка 943
- Версии
- 5 – 6
valid_url($url, $absolute = FALSE)
Проверяет синтаксис заданого URL.
Эта функция должна использоваться только на фактическом URL. Она не должна быть использована для путей меню Drupal, которые могут содержать произвольные символы. Допустимые значения по RFC 3986.
Параметры
$url
URL-адрес для проверки.
$absolute
Определяет является ли URL абсолюным (начинающийся со схемы как 'http:'
).
Возвращаемое значение
TRUE
если URL имеет правильный формат.
Связанные темы
Код
<?php
function valid_url($url, $absolute = FALSE) {
if ($absolute) {
return (bool)preg_match("
/^ # Start at the beginning of the text
(?:ftp|https?):\/\/ # Look for ftp, http, or https schemes
(?: # Userinfo (optional) which is typically
(?:(?:[\w\.\-\+!$&'\(\)*\+,;=]|%[0-9a-f]{2})+:)* # a username or a username and password
(?:[\w\.\-\+%!$&'\(\)*\+,;=]|%[0-9a-f]{2})+@ # combination
)?
(?:
(?:[a-z0-9\-\.]|%[0-9a-f]{2})+ # A domain name or a IPv4 address
|(?:\[(?:[0-9a-f]{0,4}:)*(?:[0-9a-f]{0,4})\]) # or a well formed IPv6 address
)
(?::[0-9]+)? # Server port number (optional)
(?:[\/|\?]
(?:[\w#!:\.\?\+=&@$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2}) # The path and query (optional)
*)?
$/xi", $url);
}
else {
return (bool)preg_match("/^(?:[\w#!:\.\?\+=&@$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2})+$/i", $url);
}
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии