PHP 英數字、空白全半形轉換
PHP 裡面有一個英數字全半形互換的函式,這個函式在中文圈內似乎不太為人所知,但在日文世界裡卻廣泛被使用,mb_convert_kana()
。
mb_convert_kana()
看名字會覺得是一個處理 kana(假名) 的函式,但透過傳入不同的引數,其實可以指定是要進行全形轉半形或是半形轉全形的處理。
Syntax
mb_convert_kana ( string $string , string $mode = "KV" , string|null $encoding = null ) : string
第一個引數是要傳入的 string ,第二個引數是指令轉換模式的代碼,第三個引數則是指定編碼的可選引述。
全形轉半形
mode code | 說明 |
---|---|
r | 將全形英文字轉為半形英文字 |
n | 將全形數字轉為半形數字 |
a | 將全形英數字轉為半形英數字 |
s | 將全形空白轉為半形空白 |
全形字母→半形字母
$str = 'ABCDEFGHIJKLMNOPQUETUVWXYZ 1234567890';
$hstr = mb_convert_kana($str, 'r');
echo $hstr;
// ABCDEFGHIJKLMNOPQUETUVWXYZ 1234567890
全形數字→半形數字
$str = 'ABCDEFGHIJKLMNOPQUETUVWXYZ 1234567890';
$hstr = mb_convert_kana($str, 'n');
echo $hstr;
// ABCDEFGHIJKLMNOPQUETUVWXYZ 1234567890
全形空白→半形空白
$str = 'ABCDEFGHIJKLMNOPQUETUVWXYZ 1234567890';
$hstr = mb_convert_kana($str, 's');
echo $hstr;
// ABCDEFGHIJKLMNOPQUETUVWXYZ 1234567890
全形英數字空白→半形英數字空白
$str = 'ABCDEFGHIJKLMNOPQUETUVWXYZ 1234567890';
$hstr = mb_convert_kana($str, 'as');
echo $hstr;
// ABCDEFGHIJKLMNOPQUETUVWXYZ 1234567890
半形轉全形
mode code | 說明 |
---|---|
R | 將半形英文字轉為全形英文字 |
N | 將半形數字轉為全形數字 |
A | 將半形英數字轉為全形英數字 |
S | 將半形空白轉為全形空白 |
半形英字→全形英字
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890';
$fstr = mb_convert_kana($str , 'R');
echo $fstr;
// ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890
半形數字→全形數字
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890';
$fstr = mb_convert_kana($str , 'N');
echo $fstr;
// ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890
半形空白→全形空白
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890';
$fstr = mb_convert_kana($str , 'S');
echo $fstr;
// ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890
半形英數字空白→全形英數字空白
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890';
$fstr = mb_convert_kana($str , 'AS');
echo $fstr;
// ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890