我正在搜索多个网站来解决此问题。问题是我要求用户输入网站地址,并且像人们说永远不会信任用户输入。网址验证必须包含http或https
所以,可能的情形可以是这样的:
HTTPS或http://www.google.com
HTTPS或http://google.com
www.google.com
google.com
现在我想要的URL必须是这样的。 http或https // www.google.com
目前我有下面的代码,但它没有按预期工作。
$url = "www.google.com";
if (preg_match("/\b(?:(?:https?):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $url)) {
echo "URL is valid";
}
else {
echo "URL is invalid";
}
使用'parse_url':http://php.net/manual/en/func tion.parse-url.php –
如果你能解释为什么那么它会很好。感谢downvoting – Ironic
或者可能'FILTER_VALIDATE_URL'使用'filter_var' – RamRaider