Ekstrakcja adresów email z tekstu

Extract multiple e-mail addresses from a block of text

Przykład PHP2014-03-07 stopień trudności: łatwy


Poniższy przykÅ‚ad pokazuje jak wyekstraktować z tekstu adresy email, pamiÄ™tajcie jednak że na spam sÄ… przepisy wiÄ™c korzystajcie z przykÅ‚adu w sposób mÄ…dry. 


<?
function extract_emails($str
){

//paterny jakich bÄ™dziemy poszukiwać

//w komentarzach poniżej pozostawiam jako ciekawostkÄ™
//spotykane w sieci paterny jednak nie sÄ… one doskonaÅ‚e w tym przypadku, pozostawiam najlepszy
    //$regexp = '/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/';
    //$regexp = '/[a-z0-9_\-\+]+@[a-z0-9\-]+\.([a-z]{2,3})(?:\.[a-z]{2})?/i';
    //$regexp = '/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/';
    //$regexp = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';

    
$regexp "/[A-Za-z0-9_-]+@[A-Za-z0-9_-]+\.([A-Za-z0-9_-][A-Za-z0-9_]+)/"
;
    
//wyciÄ…gamy emaile
    
preg_match_all($regexp$str$m
);
    
//i odsyÅ‚amy zawartość w miejsce wywoÅ‚ania funkcji
    
return isset($m[0]) ? $m[0
] : array();
}

$test_string 
"
Lorem ipsum dolor sit amet, test1@test.com consectetur adipisicing elit,
sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi test2@test.com ut
aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat test3@test.com nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt test4@test.com in
culpa qui officia deserunt
mollit anim id est laborum.
"
;

$list extract_emails($test_string
);

for(
$i=0$i count($list); $i
++){
echo 
$list[$i]."<br/>"
;
}
?>


Adres do Wiki na temat przepisów dotyczących rozsyłania informacji


 
close
Strona korzysta z plików cookies. Zastosowane pliki cookie służą jedynie do prowadzenia ogólnych statystyk pozwalających na określenie popularności serwisu.