Проверка URI PHP - PullRequest
       5

Проверка URI PHP

0 голосов
/ 14 ноября 2018

У меня проблема с проверкой URI.Я хотел бы создать шаблон, который будет принимать такой URI:

?name=key&name=key
#anchor

foo?name=key&name=key
foo#anchor

foo/bar/*
foo/bar?name=key&name=key
foo/bar#anchor

На данный момент у меня есть что-то вроде этого:

$path = 'foo';
$uri = 'foo/bar/bb';
preg_match('/^('.$path.'[^\w])[\/\w\S]+$/i', $uri);
// OR
preg_match('/^('.$path.'|'.$path.'(\?|#)[\w\S\=\.&%-]+)$/i', $uri);

Я хотел бы как-то упростить его.Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 14 ноября 2018

Если вы получите полный URL, то это сработает. Вы можете использовать filter_var с FILTER_VALIDATE_URL

Отрывок

$url = "/10857131/proverka-uri-php";
if (filter_var($url, FILTER_VALIDATE_URL)) {
    echo "$url is a valid URL";
} else {
    echo"$url is not a valid URL";
}

Live demo
filter_var

...