Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wyjmowanie adresu ze stringa
Forum PHP.pl > Forum > Przedszkole
rml
Witam,

znalazlem oczywiscie setki opisow jak validatowac e-mail, ale nie wiem w jaki sposob zrobic cos innego...

mam baze postow i chcialbym z tej bazy wyjac wszystkie podane tam kiedys adresy e-mail... w jaki sposob "wyjac" z dlugiego tekstu sam adres emailowy? oczywiscie biorac pod uwage ze w jednym tekscie moze byc kilka adresow mailowych...

bardzo prosze o pomoc smile.gif


pzdr,
rml.
Cienki1980
Dzielisz post wg spacji.
Potem każdy taki fragment sprawdzasz na zawartość znaku @ jeżeli jest jest prawdopodobieństwo, że jest to adres e-mail.

Możesz sprawdzać dokładniej, korzystając z jakiegoś mechanizmu sprawdzającego poprawność adresu.

Jeżeli w ciągu jest znak @ sprawdź tym mechanizmem, jeżeli zwróci TRUE jest to adres email.
rml
to co napisales bedzie ok, ale tak:

- wiem jak podzielic string spacjami,
- wiem jak sprawdzic na obecnosc @, ale nie wiem jak przeszukac wszystkie z array'a ktorego stworzy explode(), jesli nie wiem ile ich jest?

poza tym, dzielenie spacjami i szukanie w kazdym jest bardzo procesorochlonne, nie ma jakiegos latwiejszego sposobu?
Cienki1980
Pętla foreach() ... albo zastosowanie count($array) i potem wykorzystanie pętli for().

Co do łatwiejszego sposobu ... nie przychodzi mi nic w tej chwili do głowy.

Nawet jakbyś chciał korzystać z jakiejś funkcji sprawdzającej czy w danym ciągu ( w Twoim przypadku poscie ) znajduje się adres ... musiałbyś szukać znaka @ ... potem szukać znak spacji przed i po ciągu w którym występuje znak @ ....

Jak dla mnie rozdzielenie tego wg spacji i potem sprawdzenie każdego elementu jest prostsze do zrozumienia i wykonania.
rml
mozesz podac mi konkretny przyklad uzycia foreach() gdy posiadam $array z danymi po wykonaniu explode()? smile.gif
Cienki1980
  1. <?php
  2. $array=array(); // tablica z wynikami
  3.  
  4. foreach($array as $klucz=>$wartosc)
  5. {
  6.  if(strstr($wartosc,'@'))
  7. if(funkcja_validujaca_mail($wartosc))
  8.  {
  9.  //zapisywanie adresu ... czyli zmiennej $wartosc bo jest to adres mail
  10.  }
  11. }
  12. ?>


Czasami warto zajrzeć do manuala php mad.gif
rml
dziekuje bardzo! smile.gif
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.