Ihave a PHP preg_match regex which is :
#^(http://|https://|www.|//)*(([A-Z0-9][A-Z0-9_-]*)(.[A-Z0-9][A-Z0-9_-]*)+)(:(d{1,5}))?([A-Z0-9_-]|.|/|?|#|=|&|%)*$#i
问题是,当我试图将任何卢爱拉最终与.合起来的时候;它回来是真实的,但正如预期的那样,它应当退回不实的,与它可能有什么错呢?
我的理解是:
function isValidURL($url) {
if (preg_match("#^(http://|https://|www.|//)*(([A-Z0-9][A-Z0-9_-]*)(.[A-Z0-9][A-Z0-9_-]*)+)(:(d{1,5}))?([A-Z0-9_-]|.|/|?|#|=|&|%)*$#i", $url)) {
return true;
}else{
return false;
}
}
查阅:
$URL = $_GET[ url ];
echo var_dump(isValidURL($URL));
现在,如果我打开了/url.php?url=http://www.google.com
。 如果我开放网页/url.php?url=http://www.google.com**
,它就会退回。 如果我打开了/url.php?url=http://www.google.com&&
这种做法是真实的,但应当作为“......com&”归还;“TLD”不是有效的。