Hledání mailu se subdoménou – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hledání mailu se subdoménou – PHP – Fórum – Programujte.comHledání mailu se subdoménou – PHP – Fórum – Programujte.com

 

Zbynas
~ Anonymní uživatel
7 příspěvků
23. 4. 2014   #1
-
0
-

Mám výraz:

'/(\H+)@(\w+[-]?\w+).(\w+)/i'

což najde mail včetně pomlčky v doméně, jde to zapsat i líp než takhle blbě? A hlavně, jak to předělat, aby to fungovalo, i když tam bude víc teček (subdoména)? Děkuji :)

Nahlásit jako SPAM
IP: 62.245.71.–
Zbynas
~ Anonymní uživatel
7 příspěvků
24. 4. 2014   #2
-
0
-

#1 Zbynas
Vyřešeno.

'/(\H+)@(\w+[.]?\w+[-]?\w+[.]?\w+[-]?\w+[.]?\w+).(\w+)\s/i'

Nahlásit jako SPAM
IP: 62.245.71.–
peter
~ Anonymní uživatel
3981 příspěvků
24. 4. 2014   #3
-
0
-

U reg vyrazu by asi bylo dobre uvest vsechny moznosti pro shodu a pripadne nejake, kdy to vyhovovat nema. Tvrdit, ze to funguje a nepokryt vsechny moznosti, to je amaterska prace zaka zakladni/stredni skoly.

'/(\H+)@(\w+[-]?\w+).(\w+)/i'
- Nevim, co je H, ale jestli pismeno, pak H+ je opakovani 1 az nekonecno, cili 'H', 'HH', 'HHH', 'HHHH', asi to melo byt \w
- \w[-]?\w je 't-t', 'text-text', 'te', 'text' (bez cisel)
- tecka bez lomitka je jakykoliv znak, ale nejspis tam nelo byt lomitko
- \w je
(Coz ani zdaleka nepokryva realnou adresu)

'/(\H+)@(\w+[.]?\w+[-]?\w+[.]?\w+[-]?\w+[.]?\w+).(\w+)\s/i'
:)))
Co tak to proste ozavorkovat? (\w+[-]?\w+[.]?)+\.\w+
Coz je kombinace (text-?text.?) {opakuj} text, cili t-t.t-t.t-t, t.t, t-t.t, t-t.t ...

Nahlásit jako SPAM
IP: 2001:718:2601:400:0:5efe:...–
Zbynas
~ Anonymní uživatel
7 příspěvků
24. 4. 2014   #4
-
0
-

#3 peter
H+ je vše kromě horizontálních bílých znaků (doplněk '\h')

(http://interval.cz/…atecniky-ii/)

- tecka bez lomitka je jakykoliv znak, ale nejspis tam nelo byt lomitko:

mě to normálně funguje tak, že to bere jako tečku. Fakt to funguje.

Nahlásit jako SPAM
IP: 62.245.71.–
Zbynas
~ Anonymní uživatel
7 příspěvků
24. 4. 2014   #5
-
0
-

Tak se omlouvám, opravdu to lomítko mi tam chybělo, mě to sice fungovalo, ale nějak divně, teď už to jede v pohodě :) Můžeš prosím více vysvětlit to opakování? Nějak to nepobírám.

Nahlásit jako SPAM
IP: 62.245.71.–
peter
~ Anonymní uživatel
3981 příspěvků
25. 4. 2014   #6
-
0
-

Tecka, jak jsi to psal, je jakykoliv znak
\w+.\w+ - vyhovuje aaa.aaa, aaa?aaa, aaa5aaa, jakykoliv znak, krome \w
ale take aaaaa, kde to rozdeli jako aaa?a

http://www.regexp.cz/index.php
1 = \w+.\w+
2 = aaaaa
4 = php preg

Co na opakovani neni jasne?
+ je 1x az nekonecno, take {1,1}
? je 1x, take {1}
* je 0x az nekonecno {0,}
{3,7} je 3x az 7x

a+ je opakovani a, aa, aaa ...
ab+ je opakovani ab, abab, ababab ...
(a+b)+ je opakovani (ab, aab, aaab) kombinace cili treba (aaab)(ab)(aab)(ab) (bez zavorek, ty jsou pro nazornost)
regexp.cz: 1 = (a+b)+ 2 = aaababaabab
Jestli misto (a+b)+ napises (\w+[-]?\w+[.]?)+ je celkem jedno, kdyz vis, co odpovida kombinaci \w+[-]?\w+[.]?, kterou pluskem opakujes.

A ted pozor, dalsi zaludnost.
a+ vyhovuje take axyz xyza
Proc? Protoze jsi retezec neohranicil pocatkem a koncem, tak hleda kdekoliv v textu
^a+$ to uz napise nevyhovuje pro axyz
regexp.cz: 1 = ^a+$ 2 = axyz

Nahlásit jako SPAM
IP: 2001:718:2601:400:0:5efe:...–
Zbynas
~ Anonymní uživatel
7 příspěvků
25. 4. 2014   #7
-
0
-

#6 peter
Díky, jdu to prostudovat a zkoušet :) Jinak to není ohraničený schválně, hledá to v docela dllouhým textu ty maily :)

Nahlásit jako SPAM
IP: 62.245.71.–
Zbynas
~ Anonymní uživatel
7 příspěvků
25. 4. 2014   #8
-
0
-

Pro názornost, co jsem vůbec chtěl udělat - mám nějaký článek a chci převést maily na odkazy a dál s tím pak pracovat:

$pattern = '/(\H+)@(\w+[.]?\w+[-]?\w+[.]?\w+[-]?\w+[.]?\w+)\.(\w+)/i';
$replacement = '<a href="mailform.php?mail=${1}@$2.$3">$1@$2.$3</a>';
$text = preg_replace($pattern, $replacement, $text);
Nahlásit jako SPAM
IP: 62.245.71.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Odesílání e-mailu — založil Al

Overenie e-mailu — založil dalaman

Odoslanie mailu v C# — založil Tomas

Validace mailu — založil tribalcz

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý