这是我的实际功能:
public function _validate_host($url)
{
$pattern = "/^([w]{2}([\w\-]+\.)?([\w]{2,5}))(:[\d]{1,5})?/";
if (!preg_match($pattern, $url))
{
return FALSE;
}
return TRUE;
}
实际模式确实只选择了一个网址:
www.my-url.com
我希望它与主机网址匹配:
my-url.com - if found, match.
my.server.com - if found, match.
www.my-url.com - if found, match.
http://www.my-url.com/ - if www.my-url.com found, match.
它也应该忽略(在检查时)http://
(如果附加)然后它应该替换fe。以下网址:http://www.my-url.com/
到www.my-url.com
。
任何解决方案都将受到赞赏。
答案 0 :(得分:1)
尝试这个
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?
或
[a-z\-\:\/\.]+
这将获取URL,即使它们具有http://但您可以使用php中的str_replace从结果中删除http://。
答案 1 :(得分:0)
我的工作是:)
function validate_url($domain)
{
if(preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $domain))
return $domain;
else
return false;
}