Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Regexp - unicode - ZF
icetique
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 13
Dołączył: 12.04.2009

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


  1. $surname = $this->createElement('ValidationTextBox', 'surname', array(
  2. 'label' => $translate->_("Surname") . ':',
  3. 'promptMessage' => $translate->_("Input surname"),
  4. 'required' => true,
  5. 'regExp' => '[^\s]{2,80}',
  6. 'invalidMessage' => $translate->_("No special characters (except: `-` and `'`), numbers and whitespaces,<br />Maximum length: 80 chars,<br />Minimum length: 2 chars.")));
  7. $surname->addValidator('stringLength', false, array(2, 80))
  8. ->addValidator('regex', false, array('/[\pL\pM]{2,80}/u'))
  9. ->setRequired(true)
  10. ->addFilter('StringTrim');


Pytanie odnośnie linijki:
  1. ->addValidator('regex', false, array('/[\pL\pM]{2,80}/u'))


Jeśli dobrze wnioskuję, \pL łapie litery a \pM akcenty (które służą do podkreślenia liter). Natomiast bez błędu przechodzi mi taki ciąg znaków:
Kod
O'reilly!©©©©


W którym miejscu źle rozumuję? Albo inaczej - jaki jest inny sposób na przefiltrowanie wartości [A-Za-z], ale ze wszystkimi znakami diakrytycznymi różnych języków? Na stronie korzystam z kodowania UTF-8.

Ten post edytował icetique 31.01.2010, 18:05:08
Go to the top of the page
+Quote Post
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


I jak najbardziej prawidłowo przechodzi. Przecież w wyrażeniu nie podałeś, że sekwencja Unicode musi się zaczynać od początku słowa, a kończyć na jego końcu. Użyj ograniczników ^ oraz $.
Go to the top of the page
+Quote Post
icetique
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 13
Dołączył: 12.04.2009

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


(IMG:style_emoticons/default/ohmy.gif) Za długo siedziałem nad próbą wyciśnięcia czegoś z RegExpa w JavaScripcie, że mi się mózg przestawił w tę stronę. (IMG:style_emoticons/default/smile.gif)

Dzięki!

Ten post edytował icetique 1.02.2010, 08:21:28
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:27