我在检查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);
我想以某种方式简化它。预先感谢您的帮助。
答案 0 :(得分:0)
如果您获得完整的url,那么它将起作用。
您可以将filter_var
与FILTER_VALIDATE_URL
摘要
$url = "https://stackoverflow.com/questions/53304342/checking-the-uri-php";
if (filter_var($url, FILTER_VALIDATE_URL)) {
echo "$url is a valid URL";
} else {
echo"$url is not a valid URL";
}