我有这个功能:
function isValidURL($url)
{
return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}
并且这个函数只返回url而没有WWW,我不知道怎么写这个正则表达式找到我所有的网址用www或没有www,或用www和没有http / s。
TNX!
答案 0 :(得分:1)
正如其他人所说,你最好坚持使用PHP的过滤器function_var
。
但由于你永远不能有足够的正则表达式练习,这里是该解决方案的初始版本:
$regex = '|^(?:https?://)?[a-z0-9%-]+(?:\.[a-z0-9%-]+)*(?::[0-9]+)?(/[a-z0-9%-]+)?$|i'
这仍然需要一些微调,并且目前不会考虑所有允许的网址字符,但它足以朝着正确的方向前进。
答案 1 :(得分:0)
使用内置的filter功能。这是FILTER_VALIDATE_URL。