Jak zrobić wyszukiwarkę emaili, że uż. podaje adres strony, a automat wyświetla w memo adresy, które występują na tej stronie. Jest mi to bardzo potrzebne, ponieważ mam dosyć pokaźną bazę niestety "sprzężoną" z php i nie wiem jak "wyciągnąć" te adresy. Może mi ktoś pomóc?
petla + pos + '@' + sprawdzanie poprawnosci sygnatury maila (nazwa@domena.xx)
Kurcze! To dla mnie czarna magia :( ;( . A czy zna ktoś może program/źródełko z rozwiązaniem mojego problemu?
Stworzyć pokaźną bazę danych? [glowa] Kolejny spammer się szykuje :-8.
// Dopisane
Jakbys miał własną baze, to nie byłoby problemu, bo można by było zrobić skrypt, który wyświetla adresy oddzielone np. #13#10, a nie jakieś wyszukiwanie po @.
Człowieku! NAUCZ SIĘ CZYTAĆ! :-8 Mam SWOJĄ bazę e-mailową, zebraną za zgodą użytkowników, mam też specjalny skrypt, którym rozsyłam moje informacje. Teraz chciałbym przerzucić się na rozsyłanie programem pocztowym. MAM PROBLEM Z WYCIĄGNIĘCIEM TEJ BAZY! :-/
Proszę... ;-)
program Project2;
{$APPTYPE CONSOLE}
type
Strings = Array of String;
procedure GetEmails(const Src: String; var Dst: Strings);
procedure AddStr(S: String);
begin
SetLength(Dst, Length(Dst) + 1);
Dst[Length(Dst) - 1] := S;
end;
function StrExists(S: String): Boolean;
var
I: Integer;
begin
Result := False;
for I := 0 to Length(Dst) -1 do
if Dst[I] = S then begin
Result := True;
Break;
end;
end;
function ValidEmail(S: String): Boolean;
var
I: Integer;
begin
I := Pos('@', S);
Result := (I > 1) and (Length(S) - I > 3)
end;
procedure CheckEmail(var I: Integer);
const
Vc = ['0'..'9','A'..'Z','a'..'z','_','-','.'];
var
Email: String;
L, R: Integer;
begin
L := I;
while L - 1 >= 1 do
begin
if not (Src[L - 1] in Vc) then Break;
Dec(L);
end;
R := I;
while R + 1 <= Length(Src) do
begin
if not (Src[R + 1] in Vc) then Break;
Inc(R);
end;
Email := Copy(Src, L, R - L + 1);
if ValidEmail(Email) then
if not StrExists(Email) then AddStr(Email);
I := R + 1;
end;
var
I: Integer;
begin
I := 1;
while I <= Length(Src) do
begin
if Src[I] = '@' then CheckEmail(I);
Inc(I);
end;
end;
// przykład działania:
var
I: Integer;
Strs: Strings;
begin
GetEmails('<a href="asd@dupa.pl">dupa@asd.pl</a>', Strs);
for I := 0 to Length(Strs) -1 do WriteLn(Strs[I]);
ReadLn;
end.
To chyba to o co mi chodziło ! Dzięki!
Jednak nie całkiem... :( To jest konsola, zupełnie nie da się z tego skopiować, a poza tym nie wiem jak to z httpget połączyć. :( PLS HELP ME!
Jednak nie całkiem... :( To jest konsola, zupełnie nie da się z tego skopiować, a poza tym nie wiem jak to z httpget połączyć. :( PLS HELP ME!
eeeee ??? [???] :-/
to nie jest konsola tylko przykład w konsoli
ja nie wiem co ty chcesz z tymi mailami robić
napisałem ci tylko funkcję, pierwszy argument
to string zawierający maile (np. zawartość strony
html którą za pewne uzyskasz dzięki httpget)
a drugi to array of string (tam znajdziesz w
kolejnych elementach wyodrębnione adresy)
Chcę je po prostu wyciągnąć ze strony do memo. Myślałem, że jakoś to jeszcze bardziej rozudujesz, ale i tak wielkie dzięki, pobawię się z tym i zrobię :].