FILTER_VALIDATE_URL

本页内容

PHP FILTER_VALIDATE_URL 过滤器

Category:PHP Filter 参考手册

判断 URL 格式是否正确:


示例

<?php

$url = "https://www.xiaobai.wang";

if (filter_var($url, FILTER_VALIDATE_URL)) {

    echo("$url 是正确的 URL");

} else {

    echo("$url 是错误的 URL");

}

?>

执行以上代码输出结果为:


示例

https://www.xiaobai.wang 是正确的 URL

定义和用法

FILTER_VALIDATE_URL 过滤器把值作为 URL 来验证。

  • Name: "validate_url"
  • ID-number: 273

可能的标志:

  • FILTER_FLAG_SCHEME_REQUIRED - 要求 URL 是 RFC 兼容 URL(比如 http://xiaobai)
  • FILTER_FLAG_HOST_REQUIRED - 要求 URL 包含主机名(比如 http://www.xiaobai.wang)
  • FILTER_FLAG_PATH_REQUIRED - 要求 URL 在域名后存在路径(比如 www.xiaobai.wang/example1/test2/)
  • FILTER_FLAG_QUERY_REQUIRED - 要求 URL 存在查询字符串(比如 "example.php?name=Peter&age=37")

以下实力删除变量 $url 中的非法字符,然后检查它是否是有效的 URL:


示例

<?php

$url = "https://www.xiaobai.wang";

// 删除 url 中的非法字符

$url = filter_var($url, FILTER_SANITIZE_URL);

// 验证 URL

if (filter_var($url, FILTER_VALIDATE_URL)) {

    echo("$url 是正确的 URL");

} else {

    echo("$url 是错误的 URL");

}

?>

代码的输出如下所示:


示例

https://www.xiaobai.wang 是正确的 URL

以下查看 URL 是否包含有效的查询字符串:


示例

<?php

// 不带参数 URL

$url = "https://www.xiaobai.wang";

if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED)) {

    echo("$url 是正确的 URL");

} else {

    echo("$url 是错误的 URL");

}

echo PHP_EOL; // 换行符

// 带参数 URL

$url2 = "https://www.xiaobai.wang?s=php";

if (filter_var($url2, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED)) {

    echo("$url2 是正确的 URL");

} else {

    echo("$url2 是错误的 URL");

}

?>

代码的输出如下所示:


示例

https://www.xiaobai.wang 是错误的 URL
https://www.xiaobai.wang?s=php 是正确的 URL

Category:PHP Filter 参考手册

此页面最后编辑于2022年8月17日 (星期三) 22:17。