Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przechwycenie e-maila ze zmiennej/formularza
siewca
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 15.11.2008

Ostrzeżenie: (0%)
-----


Witam serdecznie forumowiczów
Proszę o pomoc w jednej sprawie.
Mam pole tekstowe w formularzu do którego wklejam dane adresowe w których jest m.in. e-mail. Czy da się tak zrobić aby skrypt automatycznie rozpoznał ten e-mail w tym tekście i zapisał do osobnej zmiennej? Może być za pomocą php lub js.

ps. wiem że można by zrobić osobne pole na e-mail, ale powyższy sposób znacznie ułatwił by życie.

Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
trucksweb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


da sie wyrazeniem regularnym wyciagnac adres email z takiego pola, ale..
1)nigdy nie bedziesz mial pewnosci, ze go dobrze wyciagniesz
2)adres email musi zaczynac sie albo od nowego wiersza albo od jakiegos specjalnego znaku, sama spacja raczej na wiele sie nie zda(chyba ze ktos potrafi napisac rozbudowane wyrazenie, ktore rozpozna np w takim ciagu maila:
Cytat
Lorem Ipsum Dolor sit adres@email.pl

)
3)ulatwia zycie ? ciekaw jestem jak
4)brak mozliwosci walidacji po stronie klienta
Go to the top of the page
+Quote Post
blooregard
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
chyba ze ktos potrafi napisac rozbudowane wyrazenie, ktore rozpozna np w takim ciagu maila:

Wydaje mi się, że to nie jest jakiś wielki problem.

//edit
wystarczy samo standardowe zapytanie do walidacji maila, sprawdzałem.

Ten post edytował blooregard 15.01.2010, 14:18:16
Go to the top of the page
+Quote Post
siewca
post
Post #4





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 15.11.2008

Ostrzeżenie: (0%)
-----


Dałem radę. Zrobiłem to tak:
  1. $wzorzec = '/[a-zA-Z0-9.\-_]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}/';
  2. preg_match($wzorzec, $_POST['adres'], $rozpoznany_email);
  3. $_POST['email'] = $rozpoznany_email[0];

Sprawdzałem, działa w różnych nawet skomplikowanych e-mailach. Ważne żeby po obydwóch stronach emaila była spacja lub zaczynał się od nowej linijki.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:28