Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyrażenia regularne i diakrytyki w utf8
joshrob
post 1.07.2007, 16:14:47
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.10.2006

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


Witam,

Czy ktoś może wyjaśnić dlaczego poniższe:
  1. <?php
  2. mb_regex_encoding('UTF-8');
  3. $string = 'kość';
  4. echo $string.' => ';
  5. $regexp = '^[a-z]{3,6}$';
  6. echo (!mb_ereg($regexp,$string))?'err ':'ok ';
  7. $pattern = '/^[a-z]{3,6}$/u';
  8. echo (!preg_match($pattern, $string))?'err':'ok';
  9. ?>

wyświetla na ekranie tekst: "kość => err err" ?

pozdrawiam,
jakub

Ten post edytował joshrob 1.07.2007, 16:15:05
Go to the top of the page
+Quote Post
JaRoPHP
post 1.07.2007, 17:12:34
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


W wzorach wyrażeń nie uwzględniasz polskich znaków.
  1. <?php
  2. mb_regex_encoding('UTF-8');
  3. $string = 'kość';
  4. echo $string.' => ';
  5. $regexp = '^[a-zęóąśłżźćń]{3,6}$';
  6. echo (!mb_ereg($regexp,$string))?'err ':'ok ';
  7. $pattern = '/^[a-zęóąśłżźćń]{3,6}$/u';
  8. echo (!preg_match($pattern, $string))?'err':'ok';
  9. ?>


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
joshrob
post 1.07.2007, 23:44:18
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.10.2006

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


czyli chcesz powiedziec, ze gdy masz strone dla n-jezykow, to wpisujesz we wszystkie wyrazenia regularne wszystkie diakrytyki ze wszystkich jezykow?

powodzenia smile.gif
Go to the top of the page
+Quote Post
domis86
post 2.07.2007, 14:38:30
Post #4





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


Cytat(joshrob @ 2.07.2007, 00:44:18 ) *
czyli chcesz powiedziec, ze gdy masz strone dla n-jezykow, to wpisujesz we wszystkie wyrazenia regularne wszystkie diakrytyki ze wszystkich jezykow?

Tak to jest z językami, ze kazdy jest inny....
Go to the top of the page
+Quote Post
Kicok
post 2.07.2007, 17:28:47
Post #5





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Można również pobawić się z setlocale" title="Zobacz w manualu PHP" target="_manual, albo zamienić:
  1. <?php
  2.  
  3. preg_replace( '/[a-z]/', $txt );
  4.  
  5. ?>



na:
  1. <?php
  2.  
  3. preg_replace( '/[[:alpha:]]/', $txt );
  4.  
  5. ?>



Kiedyś, dawno temu się tym bawiłem, ale nic ciekawego mi nie wychodziło, więc dałem sobie spokój ;]

Ten post edytował Kicok 2.07.2007, 17:28:59


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
joshrob
post 3.07.2007, 00:41:48
Post #6





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.10.2006

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


Cytat(Kicok @ 2.07.2007, 18:28:47 ) *
  1. <?php
  2.  
  3. preg_replace( '/[[:alpha:]]/', $txt );
  4.  
  5. ?>

Kiedyś, dawno temu się tym bawiłem, ale nic ciekawego mi nie wychodziło, więc dałem sobie spokój ;]


dodaj do tego mb_regex_encoding i śmiga.

dzieki za hinta.

pozdrawiam,
Jakub
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:34