2016-03-28 73 views
0

我有一些電子郵件的格式,如如何在電子郵件ID刪除名稱

[email protected] - Admin,[email protected] - Kika,[email protected] - Mka, 

我現在需要發送的電子郵件在PHP多個ID的,由於上面的名字其認爲錯誤

預計輸出

[email protected],[email protected],[email protected], 

我需要的所有郵件ID後刪除名字我怎麼能做到這一點我甲肝Ë嘗試str_replace,但那不給我一個解決方案。

在這種情況下,我如何使用preg_match

+1

替換['\ S * - * ?,'](https://regex101.com/r/wR5dE7/2)','。或匹配['(\ w + @ \ S + \。\ w +)'](https://regex101.com/r/wR5dE7/3) – Tushar

+0

爲什麼該格式的輸入是以?開頭的? – 2016-03-28 05:04:49

回答

1

寄存器精通

$list = '[email protected] - Admin,[email protected] - Kika,[email protected] - Mka,'; 
$str = preg_replace('/'.preg_quote('-') .'.*?'.preg_quote(',') . '/', ',', $list); 

RTRIM要取出端逗號

$str = rtrim($str, ','); 
+0

我得到的輸出是這樣的'[email protected],iwi @ test.co,mla @ test.co,'現在我怎麼能在''後面刪除空格,'? –

+0

我上面編輯了 –

+0

刪除間距的$ str = preg_replace('/'。preg_quote(' - ')。'。*?'。preg_quote(',')。'/',',',$ list); –