我正在尝试验证用户将提交的Twitter网址。
这就是我所拥有的:
$twitter = "http://twitter.com/jack";
$parse = parse_url($twitter);
if($parse['host'] !== 'www.twitter.com') {
$error[] = "Invalid Twitter URL.";
}
这似乎并没有完成这项工作。我并不想使用正则表达式,因为parse_url
似乎是为了这种验证而做的。
任何人都知道这里出了什么问题?
答案 0 :(得分:2)
你可以这样做(我没有测试过,所以告诉我它是否有效):
$twitter = "http://twitter.com/jack";
$link = str_replace("www.","",$twitter);
$link = str_replace("https://","",$link);
$link = str_replace("http://","",$link);
$host = explode(".",$link);
echo $host[0]; //Will give you "twitter"
希望它有所帮助:D
答案 1 :(得分:1)
您正在检查www.twitter.com
,但网址中的主机只是twitter.com
,因此请检查一下。
答案 2 :(得分:1)
如果将$ parse放入var_dump()函数,则得到结果:
array(3) {
["scheme"]=>
string(4) "http"
["host"]=>
string(11) "twitter.com"
["path"]=>
string(5) "/jack"
}
所以主持人不是" www.twitter.com"但是" twitter.com"。