Autor Zpráva
FantomX1
Profil
Ako spravim na stranke vyhladavanie ale nemyslim teraz na databazu.

Chcem napriklad na stranke najst vsetky mailove adresy. akysi mail crawler alebo harvester.
Nacitam si napriklad nejaky HTML subor do pola a testujem regularnym vyrazom ci sa v riadku nachadza mailova adresa, ak sa nachadza vrati mi to jednicku, ale ako mi to moze vratit celu tu mailovu adresu aby som si ju ulozil?

Rozmyslal som trochu nad tym ze by mi to napriklad nacitalo subor do premennej $subor=file('');
teda v kazdom prvku pola $subor by som mla jeden riadok textu. Z toho riadku chcem vybrat vsetky mailove adresy a ulozit ich do pola, ako to spravim? To chcem spravit s kazdym riadkom, prirodzene len ked sa tam mailova adresa nachadza.

Napadlo ma pouzit eregi_replace() ale to tym sposobom ze vsetko co je pred mailovou a za mailovou adresou v riadku nahradim prazdnym retazcom aby mi ostala len mailova adresa, ale co ak je na jednom riadku viac mailovych adries?
HubiPe
Profil *
Triviálním řešením by bylo udělat si funkci, která projde pole, ve kterém jsou uloženy (absolutní) cesty ke všem HTML souborům na kterých chceš provést vyhledávání. Každá stránka by se v cyklu otevřela, načetla (právě jak bylo zmiňováno) do řádků, rozdělila na slova (jednoduše oddělením mezerami) a provedlo by se srovnání funkcí EregI().

Kdysi jsem pro toto srovnání používal tuto podmínku udělání:


if(ERegI("^.+@.+\.[a-z]{2,4}.*$", Trim($hodnota)) && // zkontrolujeme zda-li je to e-mail
!SubStr_Count($hodnota, ":"))): // slovo neobsahuje ':' (zanedbáme určení portů na serveru),
jelikož ftp jméno a heslo se odděluje @ a prošlo by testem


Tím otestuju, zda-li je dané slovo e-mail a můžu s ním dělat cokoliv jiného. Hodí se pak dodat ještě další podmínky, tak, aby vyfiltrovalo různé české znaky, #, /, \, | a další nestandardní znaky pro použití v URL.
Anonymní
Profil *
nacitat do suboru a http://sk.php.net/manual/en/function.preg-match-all.php
Toto téma je uzamčeno. Odpověď nelze zaslat.

0