Főoldal   Súgó Bejelentkezés Regisztráció  
Üdvözlünk, Vendég. Kérlek jelentkezz be vagy regisztrálj.

Jelentkezz be a felhasználóneveddel, jelszavaddal és add meg a munkamenet hosszát
1 évet fizetsz kettőt kapsz a CakePHP tárhely programban!
Silver csomag pl.: 1000MB tárhely, MySQL vagy PostgreSQL.
.hu domain címmel - 12.900 Ft + Áfa / 2év
Hírek: Exkluzív bejelentés CSAK CakePHP.hu fórumlátogatóknak!  Általános blabla...
Oldalak: [1]   Le
Nyomtatás
Téma: Regexp  (Megtekintve 149 alkalommal)
« Dátum: 2011. November 03. - 10:36:30 »
kisspepe Nem elérhető
Kölyök tag

Profil megtekintése E-mail
**
Hozzászólások: 88



Már jó ideje szenvedek azzal, hogy regexbe megadjam hogy kis-nagy betűt, számot, szóközt és alapvető írásjeleket (pont, felkiáltójel, kérdőjel, vessző, pontosvessző, kettőspont, kötőjel) lehessen írni a beviteli mezőbe. A kézikönyv alapján:

Kód:
'rule' => '/[a-z0-9 ]$/i'

idáig jutottam. Kis-nagy betűket, számokat és szóközt lehet írni, de ékezetes karaktereket és írásjeleket nem. A szögletes zárójelmeb hiába írom be pl hogy á

Kód:
'rule' => '/[a-z0-9 á!]$/i'

Ha a mezőbe olyan szöveget írok, amibe á betű van, akkor hibaüzenetet ad. Ugyan ez van írásjeleknél is, hiába teszem bele a felkiáltójelet nem működik.
Naplózva
« Válasz #1 Dátum: 2011. November 03. - 11:04:02 »
sipiatti Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 43



esetleg próbáld ki a
Kód:
[A-Za-z0-9ÁáÉéÓóÖöÜüŐőÚúŰű ]
kifejezést. utf8 generalban az ékezetesek nincsenek az a-z szekvenciában, sőt talán nem tudja a regexp kód a kis és nagybetűs párjaikat sem, ezért leveszed /i jelzést, ebből ne legyen gond

nem próbáltam ki csak este lesz időm, de ennyi eszembe jutott
Naplózva
« Válasz #2 Dátum: 2011. November 03. - 13:00:39 »
kisspepe Nem elérhető
Kölyök tag

Profil megtekintése E-mail
**
Hozzászólások: 88



Az adott modell fájl ANSI kódolásban volt UTF-8 helyett. Ezt átállítottam, most már minden fájl UTF-8 karakterkódolású. A default layout-ban meg van adva hogy utf-8 karakterkódolású az oldal.

Próbálkozásaim:
Kód:
'rule' => '/[a-z0-9 ]$/i'              //"Webaruhaz 01" jó
'rule' => '[a-zA-Z0-9 ]'              //"Webaruhaz", "Webaruhaz 01" nem jó
'rule' => '[áéíóöőúüű]'              //"üőűáé" nem jó "áéíóöőúüű" jó
'rule' => '[á|é|í|ó|ö|ő|ú|ü|ű]'  //"éáíőűó" jó

Végül a jelenlegi megoldásom a következő, ami még valamiért nem működik tökéletesen

Kód:
'rule' => '[á|é|í|ó|ö|ő|ú|ü|ű|Á|É|Í|Ó|Ö|Ő|Ú|Ü|Ű|\.|\!|\?|\,|\;|\:|\- a-zA-Z0-9]'

Ez a kód elfogadja a "Webáruház 01!" kifejezést, de a "PepeSoft" vagy "Pepe Soft" kifejezéseket nem.
« Utoljára szerkesztve: 2011. November 03. - 13:12:57 írta kisspepe » Naplózva
« Válasz #3 Dátum: 2011. November 03. - 19:22:29 »
kisspepe Nem elérhető
Kölyök tag

Profil megtekintése E-mail
**
Hozzászólások: 88



Na úgy néz ki a regex mostmár működik. Az elvileg működő kód:

Kód:
'rule' => '[(á|é|í|ó|ö|ő|ú|ü|ű|Á|É|Í|Ó|Ö|Ő|Ú|Ü|Ű|\.|\!|\?|\,|\;|\:|\-)*( a-zA-Z0-9)*]'
Naplózva
« Válasz #4 Dátum: 2011. November 03. - 20:00:36 »
sipiatti Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 43



Itt egy online tool: http://regexpal.com/

ezzel jó az is amit adtam korábban: [a-zA-z0-9éÉáÁőŐúÚűŰöÖüÜóÓíÍ;\?!\.\,\;\:\-].
a sok | szerintem fölösleges a tiedben. anélkül nem megy?
Naplózva
« Válasz #5 Dátum: 2011. November 03. - 21:09:10 »
kisspepe Nem elérhető
Kölyök tag

Profil megtekintése E-mail
**
Hozzászólások: 88



Nem, ha beteszem a tied, akkor nem fogadja el pl. "Pepe webáruháza"

Az ellenőrző oldal szerint azonban elfogadja. Ez érdekes.
Naplózva
« Válasz #6 Dátum: 2011. November 03. - 22:04:42 »
sipiatti Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 43



raksz elé meg mögé delimitert? lásd php.net PCRE
pl így:
/[a-zA-z0-9éÉáÁőŐúÚűŰöÖüÜóÓíÍ;\?!\.\,\;\:\-]+/
Naplózva
« Válasz #7 Dátum: 2011. November 03. - 22:53:21 »
kisspepe Nem elérhető
Kölyök tag

Profil megtekintése E-mail
**
Hozzászólások: 88



Úgy néz ki ez így jó.
Naplózva
Oldalak: [1]   Fel
Nyomtatás
Ugrás:  

2007 CakePHP Magyarország Fóruma
Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC
Magyar fordítás: SMF Magyarország
| Üzemelteti / Hosting: Elite Media     -     Támogatóink: Loovers Szexshop | És a HHO generátor