- Home
- Przykłady i porady PHP79
- Inne pomoce, software6
- Banery
- Hyde Park Private Zone6
- Polityka cookies
- Udostępnianie tekstów
© 2001 - 2024 PhpCodex
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