我正在尝试测试使用 php5 输入的 url 的有效性。我想过使用正则表达式,但假设它始终正常工作,它只能解决 url 在语法上有效的问题。它没有告诉我有关网址正确或有效的任何信息。
如果可能的话,我正在尝试寻找另一种解决方案来同时完成这两件事。或者为此找到两个单独的解决方案更好?
如果正则表达式是可行的方法,那么 url 存在哪些经过测试的正则表达式?
而不是在正则表达式上绞尽脑汁(网址是very复杂),我只是用filter_var(),然后尝试使用 ping 该 URLcURL:
if (filter_var($url, FILTER_VALIDATE_URL) !== false)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status_code >= 200 && $status_code < 400)
{
echo 'URL is valid!';
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)