Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciąganie adresów email za pomocą preg_match
Forum PHP.pl > Forum > PHP
kociou1
Witam.

Staram sie stworzyć wyrażenie regularne wyciągająe z tekstu wszystkie adresy email - narazie doszexdłem do tego:
  1. <?php
  2. preg_match("/([w.+-]+)@([a-zA-z0-9.-]+).(w{2,6})/", $tekst, $wynik);
  3. ?>

i utknąłem.
Mógłby mi ktoś pomóc i pokazać jak to powinno prawidłowo wyglądać (i najlepiej wyjaśnić dlaczego tak a nie inaczej).

z góry wielkie dzięki

=== edit ===
no tak - pora taka, wzór ogólnie jest chyba ok - tylko że zamiast preg_match nalezy użyć preg_match_all... idę spać smile.gif
REN
Wpisz sobie w googlu preg_match. Jednym z pierwszych przykladow ktory znajdziesz bedzie wyrazenie sprawdzajace poprawnosc adresu email.
dr_bonzo
REN: doczytaj post do konca -- kociou1 nie mogl wyciagnac *wszystkich* adresow i problem rozwiazal
REN
Pije do tego, ze to wyrazenie regularne jakos tak dziwnie wyglada.
Niespotkalem czegos podobnego w przykladach w sieci.
marast78
lepiej zastosuj preg_match_all


  1. <?php
  2. preg_match_all("/(.+)@([a-zA-Z-_0-9]+.{1}[a-zA-Z-_0-9]+.{1}[a-zA-Z]{2,3})/Usi",$tekst,$wynik,PREG_PATTERN_ORDER);
  3. ?>


nie spradzałem, ale da ci to podwaliny ;]
dr_bonzo
NIE PISZCIE O preg_match_all -- to juz bylo (czyt pierwszy post).

Co do samego wyrazenia regularnego -- to juz inna sprawa
kociou1
Cytat(REN @ 22.11.2006, 21:39:42 ) *
Pije do tego, ze to wyrazenie regularne jakos tak dziwnie wyglada.
Niespotkalem czegos podobnego w przykladach w sieci.

Wiesz - to że nie spotkałeś nie znaczy że jest złe smile.gif Powiem więcej, nie spotkałeś go bo zdaje się ze go nigdzie nie publikowałem, powiem jeszcze więcej, w sumie to nawet działa, i do tego działa poprawnie

pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.