Jak z pliku tekstowego wyciagnąć adresy email? (php)
W PHP są takie wyrazenia ktore sie dziwnie nazywaly i ktorych nigdy nie moglem zrozumiec :) W zwiazku z tym ze nie pamietam jak sie nazywaly to mam problem z ich wyszukaniem w google :)
Wiem ze te wyrazenia by mi pomogly w zrobieniu rzeczy ktora potrzebuje:
mianowicie mam plik tekstowy i chcialbym zrobic z niego liste emaili. Plik powstaje po zapisaniu takiej strony na dysku:
http://forum.gazeta.pl/forum/w,90174,95803096,,Bezplatne_probki_markowych_kosmetykow_.html?v=2
Chodzi o maile osob ktore chca otrzymac probki.
Dzieki za pomoc :)
Jak jest ktos w stanie mi jeszcze napisac to wyrazenie ;) to bede wogole wniebowziety ;)
O, przypomnialem sobie :) Wyrazenie regularne :) wczesniej myslalem ze agrarne ;)
To się nazywa wyrażenia regularne - i też mam zawsze z tym odrobinę problemu.
Ale jak znam życie to zaraz pojawi się ktoś kto polecenie shellowe/pythonowe które zrobi to co chcesz zmieści w jednej linijce.
Jeżeli wyciągasz stronę przy użyciu file_get_contents() to skrypt zwraca Ci stringa.
teraz już tylko wzorzec maila do umieszczenia go w wyrażeniu regularnym i zwróć całość maili funkcją preg_match_all()
Maile wyciagne po prostu *@* ?
imho coś w ten deseń:
preg_match_all('/^[a-zA-Z0-9\.\-\_]+\@[a-zA-Z0-9\.\-\_]+\.[a-z]‹2,4›$/D', $string);
popraw ktoś jak coś
Chcesz handlować mailami? Jak powyciągasz to podesłałbyś bazę? Przydałby mi się mailing :P
Spoko ;) Odezwe sie.
Generalnie to odkrylem na tym forum zloza frajerstwa i teraz musze zrobic tylko mala koparke ;)
Robie to na wlasne potrzeby, potrzebuje aktywne maile do kobiet. :)
<?php
$zmienna = file_get_contents('http://forum.gazeta.pl/forum/w,90174,95803096,,Bezplatne_probki_markowych_kosmetykow_.html?v=2);
preg_match_all('/^[a-zA-Z\.\-\_]+\@[a-zA-Z0-9\.\-\_]+\.[a-z]‹2,4›$/D', $zmienna, $out);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>
Niestety, nie bangla :) Wyswietla tylko i wylacznie przecinki, tak jakby tablica $out byla pusta. Co robie zle? :) Strona wczytuje się dobrze. Na koncu adresu v=2' jest ten apostrof, skrypt tego forum go usuwa...
OK :) Poradzilem sobie
Poprawne wyrazenie to:
"/[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]2,/i"
Nie pytajcie sie mnie czym one sie roznia, bo dla mnie to wyglada jak chinskie gazety :)