[英]PHP regex to detect website URL only and not email
我已經嘗試了很多正則表達式,但是大多數都可以檢測到電子郵件。
例如,
已正確檢測到http://www.google.com
。 但是,電子郵件鏈接也檢測到andreweuwhd38@hotmail.com
正則表達式嘗試:
#[-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
函數,因為我需要捕獲URL並對其進行更改。
我想這將是常規網址(不使用用戶名,端口,unicode字符……)的(相當好的通用正則表達式)。
(ht|f)tp(s?):\\/{2}(www\\.)?([a-z0-9-]+\\.)?([a-z0-9-]+\\.)?([az]{2,4})([a-z0-9\\/?&=_()#-]*)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.