簡體   English   中英

PHP上的正則表達式從電子郵件字符串中刪除URL

[英]Regular Expressions on PHP remove url from an email string

我正在上傳從Excel導出的制表符分隔文本文件,基本上,我正在使用preg_match_all獲取文檔中的所有電子郵件字段

preg_match_all("/([\s]*)[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i",$string,$emails);

在某些情況下,電子郵件將帶有附加的URL,如下所示: prefix.user@domain.comwww.domain.com

我只需要刪除電子郵件,而不刪除電子郵件地址之后的網址

我如何使用正則表達式使這項工作呢?

像這樣列出最后一個regexp組中的所有可能的域名,默認情況下包括頂級域名。

[A-Z0-9._%+-]+@[A-Z0-9.-]+\.(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)

你可以閱讀更多關於電子郵件驗證 這里或閱讀相關的問題在這里

更新

符合RFC 2822標准的表達式

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-zA-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM