Format, e-postaların bir listesi verilmiştir:
"FirstName Last" <email@address.com>, "NewFirst NewLast" <email2@address.com>
Ben sadece e-posta adreslerinin bir dize diziye bu yapı nasıl (ben isimleri gerekmez).
Kullanmak preg_match_all
(docs) olabilir:
preg_match_all('/<([^>]+)>/', $s, $matches);
print_r($matches); // inspect the resulting array
Tüm adresler < ... >
explode()
dize gerek yoktur içine şartıyla $s
.
EDIT yorumlarına yanıt olarak, regex '/<([^@]+@[^>]+)>/'
olarak yazılabilir olabilir. Bu olup olmadığından emin fail-safe olsa :)
EDIT #2 (aşağıdaki yorumları görmek - e-posta adresi ayrıştırma a bitch) any önemsiz olmayan veriler için bir ayrıştırıcı kullanın. Bazı hatalar, ancak yinelenen adresleri kaldırarak önlenebilir.