Autor Zpráva
zip
Profil *
Dobrý den, potřeboval bych poradit ohledně jednoho regulárního výrazu. Mám v proměnné $text uložen obsah celé webové stránky včetně html tagů a potřeboval bych z něho pomocí preg_match_all(); vytahat všechny emaily. A to tak, že i třeba tam, kde je <a href='mailto:nejakej@email.cz'> ..., věděl by jste někdo jak na to?
Majkl578
Profil
zip:
To přeci nehraje roli, kde se zrovna nachází. Když chceš všechny, nepotřebuješ specifikovat umístění.
Takže by mělo stačit použití tohoto:
preg_match_all('~[_a-z0-9\.\-]+@[_a-z0-9\.\-]+\.[a-z]{2,4}~i', $data, $matches);
var_dump($matches);
zip
Profil *
nj, jenže když to máte jako mailto:nejakej@mail.cz bez mezery, tak to tam vyhodí i to mailto.
Johnik
Profil
zip:
Tak to pak projeď str_replace.
zip
Profil *
Johnik:
Díky chlape :-). Jedno nakopnutí je občas lepší než celý skript. Tohle jsem potřeboval slyšet. Díky tobě i Majklovi. :-)
Majkl578
Profil
[#3] zip
Nesmysl. Regulár dvojtečku neakceptuje (alespoň tento).
Použití str_replace je opravdu prasárna.
zip
Profil *
Majkl578:
Jo všiml jsem si, máš pravdu je to bez toho mailto.:-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: