我希望在PHP中验证URI(不仅仅是URL),但找不到任何方法来实现。
PHP确实有parse_url()
,但它不适用于URI,找到一种适当的方式来验证URI结构将非常有帮助,例如以下内容:
content://com.example.provider/articles/?optional=queries
我希望在PHP中验证URI(不仅仅是URL),但找不到任何方法来实现。
PHP确实有parse_url()
,但它不适用于URI,找到一种适当的方式来验证URI结构将非常有帮助,例如以下内容:
content://com.example.provider/articles/?optional=queries
要验证 URI,可以在 PHP 中使用 FILTER_VALIDATE_URL
过滤器和 filter_var()
函数。
$uri = "content://com.example.provider/articles/?optional=queries"
if (filter_var($uri, FILTER_VALIDATE_URL)) {
// Valid URI, do something here.
}
还需要进行过滤,以删除非法字符。
$url = "http://www.google.com";
// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);
// Validate url
if (filter_var($url, FILTER_VALIDATE_URL)) {
echo("$url is a valid URL");
} else {
echo("$url is not a valid URL");
}
在这里,URL必须具有查询字符串才能有效:
$url = "https://www.w3schools.com";
(注意:保留HTML标签)if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED)) {
echo("$url is a valid URL");
} else {
echo("$url is not a valid URL");
}
$url = "http://www.google.com";
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
echo("$url is a valid URL");
} else {
echo("$url is not a valid URL");
}