我从无法控制的 API 接收一些数据。包括一个网络链接字段,其中包含无效的 url。在处理数据时,我正在尝试验证 url 以查看是否应将其标记为链接。
一些链接通过 http: 或 https: 通过 - 其他链接没有,所以我正在检查是否应该添加它。
某些数据已输入为 n/a
我可以通过字符串比较手动检查这一点,但我不知道可能还有哪些其他变体。
我正在使用的功能如下,它检查方案,然后验证。这会将其评估为http://n/a然后进行验证。
如何检查它是否有效?
function GetUrl($url, $ReturnBlankIfInvalid = false)
{
if ($ret = parse_url($url))
{
if ( !isset($ret["scheme"]) )
{
$url = "http://{$url}";
}
}
if ($ReturnBlankIfInvalid)
{
if (filter_var($url, FILTER_VALIDATE_URL) === FALSE)
$url = "";
}
return $url;
}
慕码人8056858