脚本宝典收集整理的这篇文章主要介绍了php – 检查输入的URL是否来自某个域,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我试过这个,但它不适用于所有情况(我在下面列出):
if(strstr(parse_url($link,PHP_URL_HOST),'google.com') { // continue }
> http://www.google.com/blah – 工作
> https://www.google.com/blah – 作品
> google.com/blah – 不起作用
> www.google.com/blah – 无效
谢谢.
parse_url
需要有效的网址且google.com/blah无效(截至
PHP 5.3.3) – 因此无法使用.作为解决方法,您可以附加http(如果尚不存在),然后检查域.
使用以下功能:
function checkRootDomain($url) { if (!PReg_match("~^(?:f|ht)tps?://~i",$url)) { $url = "http://" . $url; } $domain = implode('.',array_slice(explode('.',parse_url($url,PHP_URL_HOST)),-2)); if ($domain == 'google.com') { return True; } else { return False; } }
测试用例:
var_dump(checkRootDomain('http://www.google.com/blah')); VAR_dump(checkRootDomain('https://www.google.com/blah ')); var_dump(checkRootDomain('google.com/blah')); var_dump(checkRootDomain('www.google.com/blah '));
结果:
bool(true) bool(true) bool(true) bool(true)
希望这可以帮助!
以上是脚本宝典为你收集整理的php – 检查输入的URL是否来自某个域全部内容,希望文章能够帮你解决php – 检查输入的URL是否来自某个域所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。