mb_convert_kana
funkcja
Konwertuje między japonskimi alfabetami kana oraz pełnoszerokimi i półszerokimi znakami ASCII w kodowaniu wielobajtowym.
mb_convert_kana(string $string, string $mode = "KV", ?string $encoding = null): string
mb_convert_kana konwertuje japońskie znaki kana (hiragana/katakana) między wersjami pełnoszerokimi (zenkaku) i półszerokimi (hankaku) oraz zamienia znaki ASCII między wersjami normalną a pełnoszerokową (fullwidth). Funkcja przydaje się przy normalizacji danych wejściowych z japońskich formularzy lub przy pracy z legacy bazami danych.
<?php
declare(strict_types=1);
// 'a' — znaki pełnoszerokowe ASCII → półszerokowe (normalne ASCII):
echo mb_convert_kana('abc', 'a', 'UTF-8'); // wynik: abc
// 'A' — znaki półszerokowe ASCII → pełnoszerokowe:
echo mb_convert_kana('abc', 'A', 'UTF-8'); // wynik: abc
// 'K' — półszerokowa katakana → pełnoszerokowa katakana:
echo mb_convert_kana('アイウ', 'K', 'UTF-8'); // wynik: アイウ
// Tryby można łączyć — np. 'KV' (domyślny) konwertuje katakana + dakuten:
echo mb_convert_kana('ガ', 'KV', 'UTF-8'); // wynik: ガ
Parametr $mode to ciąg złożony z liter sterujących: r/R (halfwidth/fullwidth romaji), n/N (halfwidth/fullwidth cyfry), a/A (halfwidth/fullwidth ASCII), s/S (halfwidth/fullwidth spacja), k/K (fullwidth/halfwidth katakana), h/H (fullwidth/halfwidth hiragana), V (dakuten). Poza projektami z japońskim tekstem funkcja ta jest rzadko potrzebna.