michaf1994
8.09.2014, 22:14:30
Witam
Mam problem z wyrażeniami regularnymi.
Otóż chcę aby skrypt sprawdził czy któreś z niżej wymienionych istnieje i jeżeli tak to podał mi zawartość href czyli w tym przykładzie: adres@serwer.pl
href="mailto:adres@serwer.pl"
href='mailto:adres@serwer.pl'
href=mailto:adres@serwer.pl>
href=mailto:adres@serwer.pl >
href="adres@serwer.pl"
href='adres@serwer.pl'
href=adres@serwer.pl>
href=adres@serwer.pl >
Wiem żeby użyć
preg_match('#.*'([A-Za-z0-9\.-_]+)@([A-Za-z0-9\.-_]+)'.*#', $tekst, $matches);
ale nie umiem tego zmodyfikować. czy ktoś może pomóc?
kartin
8.09.2014, 22:36:46
Np.:
preg_match('/href=[\'"]?(mailto:)?([a-z0-9\.-_]+@[a-z0-9\.-_]+).*/i', $tekst, $matches);
Jeśli znajdzie to adres e-mail będzie w
$matches[2]
michaf1994
8.09.2014, 22:40:52
I to wyrażenie znajdzie wszystkie z w.w. przypadków jeżeli któreś jest?
michaf1994
8.09.2014, 22:54:40
Jest bardzo dobre. Tylko w trzecim i siódmym przypadku wyświetla:
adres@serwer.pl>kawałek dalszego tekstu zamiast adres@serwer.pl
kartin
8.09.2014, 23:03:43
preg_match('/href=[\'"]?(mailto:)?([a-z0-9-_.]+@[a-z0-9-_.]+)/i', $tekst, $matches)
To będzie OK.
michaf1994
8.09.2014, 23:12:00
Faktycznie działa. Dzięki. Jesteś wielki. Oczywiście przycisk "Pomógł" już poleciał.