Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wyciąć maila z tekstu
BatGraf
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 20.03.2007
Skąd: Kruklanki/Otwock

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


Może juz późno, dlatego nie wychodzi mi to, ale te wszystkie substr i inne mieszają mi się już totalnie i padam na kolana z prośbą o pomoc (IMG:style_emoticons/default/smile.gif)

Powiedzcie mi proszę, jak wyciąć adres mail z tekstu?

Mam np tekst:

Lorem Ipsum is simply dummy text of the printing and typesetting pierwsz@mail.pl industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to drugi.glupi@mail.pl make a type

jak wyłuskać różnie wyglądające maile. Niektóre są z dwoma członami połączonymi kropką, niektóre normalnie nazwa@strona.pl

Wyszukuje w kodzie html, więc jedne są "mailto:" inne bez tego

Dzięki z góry wielkie (IMG:style_emoticons/default/smile.gif)

Ten post edytował BatGraf 23.06.2011, 02:50:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




W wyrażeniu regularnym nie szukaj błędu na razie... Problemem jest fakt, że w funkcjach preg_* konieczne jest jako pierwszy i ostatni znak użycie delimitera, który nie jest częścią samego wyrażenia. Wiele razy ludzie o tym zapominają (w funkcjach ereg_* będących przestarzałymi, on nie występował i dlatego). U Ciebie za delimiter zostało uznane ^ i brak go na końcu wyrażenia, bo znajduje tam $.
Zauważ, że przykłady w manualu posiadają najczęściej preg_match_all( '/tu_wzorzec/', reszta parametrów ); i znak "/" jest takim delimiterem. Oczywiście gdy w wyrażeniu regularnym go używasz to musisz wtedy za delimiter użyć innego znaku. Może on być w sumie dowolny. Ważne by nie "pogryzł się" (czyli nie wystąpił wewnątrz) z wyrażeniem regularnym. Wystarczy że teraz całe wyrażenie ujmiesz w / do formy:
'/^([a-z0-9\_-.])@([a-z0-9\_-.])$/'
a powinno zadziałać.
Swoją drogą zamiast testować tak, możesz sobie zapuścić jakiś soft do sprawdzania wyrażeń. Może ten temat pomoże Ci coś wybrać... http://www.hongkiat.com/blog/regular-expre...ools-resources/
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 11:39