HTTPget + "wyławiacz" określonych stringów

0

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?

0

petla + pos + '@' + sprawdzanie poprawnosci sygnatury maila ([email protected])

0

Kurcze! To dla mnie czarna magia :( ;( . A czy zna ktoś może program/źródełko z rozwiązaniem mojego problemu?

0

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 @.

0

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! :-/

0

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="[email protected]">[email protected]</a>', Strs);
  for I := 0 to Length(Strs) -1 do WriteLn(Strs[I]);
  ReadLn;
end.
0

To chyba to o co mi chodziło ! Dzięki!

0

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!

0

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)

0

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ę :].

1 użytkowników online, w tym zalogowanych: 0, gości: 1