Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] preg_match i japońskie znaki
EdeusEx
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 6.04.2008

Ostrzeżenie: (20%)
X----


Witam.

Mam do obsługi znaki alfanumeryczne, japońskie (hiragana, katakana, kanji) oraz znaki specjalne (spacja, przecinek, małpa, procent, dolar itp).

Próbowałem zrobić coś takiego (z PHP.net):

  1. $pattern ='/^[-a-zA-Z0-9_ \\\!\@\#\$\%\^\&\*\(\)\=\|\+\;\:\'\"\,\.\/\<\>\?\-\x{30A0}-\x{30FF}'
  2. .'\x{3040}-\x{309F}\x{4E00}-\x{9FBF}\s]*$/u';
  3. $match_string = 'カタカナ ひらがな 漢字 alfabet 09123 !-@#$,.;';
  4.  
  5. if (preg_match($pattern, $match_string)) {
  6. echo "Found - pattern $pattern";
  7. } else {
  8. echo "Not found - pattern $pattern";
  9. }


Ale brakuje jeszcze kodowania innych znaków związanych z japońskim ( (większa spacja)、。’、”「」()).
Czy zna ktoś zakres kodowania na te znaki ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Zadbaj o czytelność swojego kodu.
2. Podane przez Ciebie znaki są w bloku CJK Symbols and Punctuation
Kod
$specialChars = preg_quote('!@#$%^&*()/*-+=[]{};:\'",.<>?', '/');

$pattern = '/
    ^[
        \w\s                  # a-Z0-9_, whitespaces
        ' . $specialCahrs . ' # special characters
        \x30A0-\x3oFF         # Japanese hiragana
        \x3040-\x309F         # Japanese katakana
        \x4E00-\x9FBF         # Japanese kanji
        \x3000-\x303F         # CJK Symbols and Punctuation
    ]*$
/xu';


Ten post edytował Crozin 11.11.2010, 18:11:32
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 03:26