我已经尝试了很多正则表达式,但大多数都检测到了电子邮件。
例如,
正确检测到 http://www.google.com
。
但是,电子邮件链接也检测到andreweuwhd38@hotmail.com
Regex尝试过:
#[-a-zA-Z0-9:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si
#((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#
#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si
我无法使用FILTER_VALIDATE
函数,因为我需要捕获网址并对其进行更改。
答案 0 :(得分:0)
我想这个常规网址是一个(非常好的通用正则表达式)(不使用用户名,端口,unicode caracters ...)
(ht|f)tp(s?):\/{2}(www\.)?([a-z0-9-]+\.)?([a-z0-9-]+\.)?([a-z]{2,4})([a-z0-9\/?&=_()#-]*)