PHP 有一个 mb_convert_kana 函数。
使用这个功能,
・可以将指定的字符串在全角、半角之间互相转换。
・转换对象为全角数字、半角假名、半角数字、平假名、片假名。
string mb_convert_kana ( string $input_string [, string $option [, string $encoding ]] )
函数执行完成后会返回一个结果字符串。
参数说明
$input_string
指定要转换的字符串。
这是一个必需参数。
$option
指定转换方法。
请参阅下面的列表了解选项。
这是一个可选参数。
如果不指定,将转换为“KV”。
$encoding
指定字符代码。
这是一个可选参数。
如果未指定,将使用内部编码。内部编码值与 mb_internal_encoding
函数的返回值相同。
选项类型
选项 | 功能 |
---|---|
r | 将“全角”字母字符转换为“半角” |
R | 将“半角”字母字符转换为“全角” |
n | 将“全角”数字转换为“半角” |
N | 将“半角”数字转换为“全角” |
a | 将“全角”字母数字字符转换为“半角” |
A | 将“半角”字母数字字符转换为“全角” |
s | 将“全角”空格转换为“半角” |
S | 将“半角”空格转换为“全角” |
k | 将“全角片假名”转换为“半角片假名” |
K | 将“半角片假名”转换为“全角片假名” |
h | 将“全角平假名”转换为“半角片假名” |
H | 将“半角片假名”转换为“全角平假名” |
c | 将“全角片假名”转换为“全角平假名” |
C | 将“全角平假名”转换为“全角片假名” |
V | 将带有浊音标记的字符转换为单个字符。通常与 K 和 H 一起使用。 |
其中V
选项对我们来说是比较难理解的,如果不添加这个选项的话,带有浊音标记的日语假名字符会被分解成两个字符。
例如:
// 不使用V选项时
$str = mb_convert_kana('ガギグゲゴ','K','utf-8');
var_dump(str);
// 输出:カ゛キ゛ク゛ケ゛コ゛
$str = mb_convert_kana('ガギグゲゴ','H','utf-8');
var_dump(str);
// 输出:か゛き゛く゛け゛こ゛
// 使用V选项时
$str = mb_convert_kana('ガギグゲゴ','KV','utf-8');
var_dump(str);
// 输出:ガギグゲゴ
$str = mb_convert_kana('ガギグゲゴ','HV','utf-8');
var_dump(str);
// 输出:がぎぐげご
另外这个函数还有4个不进行转换的全角字符,分别是¥、”、’、〜。