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.

📘 Naucz się w lekcji →