LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: Poradna ereg() v PHP

ereg() v PHP 24.11.2009 19:33
Vladimír Komínek

Dobrý den, zjistil jsem, že funkce ereg() v php , kterou jsem použil, tak jak je v PHP seriálu zde na linuxsoftu, je zavržená a měla by opět fungovat až od PHP 6. Neporadíte někdo prosím nějakou alternativu jak zjist správný format mailu? Díky

function JeEmail($mail)
{
return ereg("^.+@.+\..+$",$mail);
}

Re: ereg() v PHP 25.11.2009 14:42
Aleš Hakl

Existuje druha skupina funkci (preg_*), ktere ovsem zpracovavaji perlove regularni vyrazy. Skoro by se dalo predpokladat, ze jsou pouzivane casteji nez normalni rozsirene (alespon podle toho, ze obecna rozbitost implementaci rozsirenych regularnich vyrzu dlouho nikomu nevadila).

Jinak ten vas regularni vyraz prijme ledacos co neni platna emailova adresa ("foo@bar@bla.quux", "foo@bla!bla.cz") a na druhou stranu spoustu platnych adres odmitne ("postmaster", "linuxsoft.cz!adh", fakt je ze ma smysl se ptat, jestli je to tak uplne spatne)

Re: ereg() v PHP 27.11.2009 22:05
P.B.

No o tom ze se ma vratit v php6 nic nevim, kazdopadne lepsi pouzit preg_match treba jak uz tu radil nekdo prede mnou. Navic ereg je udajne dost pomaly v porovnani s preg_match

Re: ereg() v PHP 27.11.2009 23:32
Aleš Hakl

No pokud jde o rychlost, tak ereg (coz je vevnitr nejaka implementace Thompsonova algoritmu) ma vyhodu v tom, ze narozdil od PCRE ma vicemene linearni casovou slozitost v delce vstupniho retezce, kdezto PCRE ma pro ruzne retezce obrovsky rozptyl kdy horni limit je cosi dost osklive velkeho. Fakt je, ze protoze se do te implementace investovalo vyrazne vice prace, tak je to typycky celkem dabelsky rychle. Druha vec je, ze PCRE nekolik implementacne problematickych aspektu obchazi, coz muze byt ovsem obcas vyhoda. Treba podpora unicode je dost obludne dohackovana, zato se to ovsem chova vzdy stejne nezavisle na locale, predpokladam ze totez je duvodem pro nedoporucovani ereg, protoze (zatim) zrejmne neexistuje implementace, ktera by byla zaroven rychla a s ohledem na unicode spravne (a PHP ma pravdepodobne nejakou svoji implementaci, ktera je pravdepodobne forknuta z nejake prehistoricke libc kdoviceho).


KOMENTARZE
ereg() v PHP 24.11.2009 19:33 Vladimír Komínek
  |- Re: ereg() v PHP 25.11.2009 14:42 Aleš Hakl
  L Re: ereg() v PHP 27.11.2009 22:05 P.B.
    L Re: ereg() v PHP 27.11.2009 23:32 Aleš Hakl
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4850x
2. FreeBSD
Download: 9044x
3. PCLinuxOS-2010
Download: 8541x
4. alcolix
Download: 10915x
5. Onebase Linux
Download: 9631x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6219x

1. xinetd
Download: 2382x
2. RDGS
Download: 937x
3. spkg
Download: 4692x
4. LinPacker
Download: 9918x
5. VFU File Manager
Download: 3173x
6. LeftHand Mała Księgowość
Download: 7171x
7. MISU pyFotoResize
Download: 2775x
8. Lefthand CRM
Download: 3540x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3089x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz