trim()という指定文字を削除する関数があるが、
これでは全角の空白を削除することができません。
そこで、以下の二つの方法がありませす。
1. 全角スペースを半角にしてからtrim()を使う
2. 全角を扱える置換関数(preg_replace())を使う
以下に例を示します。
a)
以下だと全角スペースが消えない
1 2 |
$trim_result = trim($string); $trim_result = trim($trim_result, " "); |
b)
以下だと全角スペースを含めて消える。
このままだと、文字列の前後以外の途中の空白も消える
1 |
$replace_result = preg_replace('/[ ]/', '', $string); |
c)
1 |
$replace_result = preg_replace('/^[ ]+|[ ]+$/', '', $string); |
b)
以下だと全角スペースが半角スペースに直された後で、
trimにより半角が削除されるのでうまくいく。
1 2 |
$kana_result = mb_convert_kana($string, "s"); $kana_result = trim($kana_result); |
場合によっては、mb_convert_kana()の第三引数に文字コードを
指定しないとうまくいかない場合があります。
1 |
$kana_result = mb_convert_kana($string, "s", 'UTF-8'); |
/