Ho un blocco di testo dal quale voglio estrarre gli indirizzi e-mail validi e inserirli in un array. Finora ho ...In PHP, come posso estrarre più indirizzi e-mail da un blocco di testo e inserirli in un array?
$string = file_get_contents("example.txt"); // Load text file contents
$matches = array(); //create array
$pattern = '/[A-Za-z0-9_-][email protected][A-Za-z0-9_-]+\.([A-Za-z0-9_-][A-Za-z0-9_]+)/'; //regex for pattern of e-mail address
preg_match($pattern, $string, $matches); //find matching pattern
Tuttavia, sto ricevendo un array con un solo indirizzo. Pertanto, suppongo di dover scorrere questo processo in qualche modo. Come lo faccio?
Grazie mille !! Mi sto avvicinando ora. La mia uscita tuttavia mi sembra un po 'strana. Mi sembra di ottenere array all'interno dell'array come segue: Array ([0] => Array ([0] => example @ slu.edu) [1] => Array ([0] => edu)) – HumbleHelper
Sto cercando semplicemente un array con ogni chiave contenente un indirizzo e-mail. – HumbleHelper
@HumbleHelper preg_replace_all creerà nuovi elementi di array per il submatch di tutto ciò che era tra parentesi nel modello originale. Hai avuto parentesi intorno all'ultima parte è il dominio nel modello. Per risolvere questo problema puoi semplicemente aggiungere $ matches = $ matches [0] alla fine. Inoltre, guarda la risposta di Clay Hinson. Merita la risposta accettata. – stevendesu