trim関数による文字列前後の空白削除(全角・半角が混在)が失敗するとき

文字列の前後に含まれる空白を削除したい場合、trim関数を使う方法があります。全角の空白と半角の空白が混在している場合でも、trim関数では2番目のパラメータに削除する文字列を指定できるので「trim($a, " ")」で対応できそうですが、失敗します。

<?php
$a = "   テスト  ";
$a = trim($a, " ");
echo "==={$a}===";
?>
trim関数による空白削除が失敗する

trim関数による空白削除が失敗する

この場合、mb_convert_kana関数全角の空白を半角に変換してから、trim関数で前後の半角空白を削除するとうまくいきます。

<?php
$a = "  テスト  ";
$a = trim(mb_convert_kana($a, 's'));
echo "==={$a}===";
?>
全角と半角の混在した空白を削除する

全角と半角の混在した空白を削除する

PHPの基礎が身に付いたかチェックするなら

PHP「直す力」養成ドリル
スポンサーリンク