Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyrażenia regularne i diakrytyki w utf8
Forum PHP.pl > Forum > PHP
joshrob
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
JaRoPHP
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. ?>
joshrob
czyli chcesz powiedziec, ze gdy masz strone dla n-jezykow, to wpisujesz we wszystkie wyrazenia regularne wszystkie diakrytyki ze wszystkich jezykow?

powodzenia smile.gif
domis86
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....
Kicok
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 ;]
joshrob
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
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.