到目前为止我有这个代码,它会检查它前面是否有http://如果输入了“google.co.uk”,它会在前面添加http://它
然而,当人们说“你好”它然后在它前面添加http://并将其计为URL时它不会出现。我需要能够检查最后是否有后缀的东西。
function checkURL($url) {
if (empty($url))
{
return $url;
}
else {
if (preg_match('[a-z0-9-]i', $url)) {
return $url;
} else {
if (preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url)) {
return $url;
}
else {
$url = 'http://'.$url.'';
return $url;
}
}
然后再次进行简单的检查。
请帮忙!
答案 0 :(得分:4)
不要重新发明轮子。
使用它:
if (filter_var('someurl.com', FILTER_VALIDATE_URL) === true) {
答案 1 :(得分:0)