MW211 EXIT

devlog
PHP/全角トリム
2012年03月29日
┌──────────────────────────────────────┐
│trim($変数);                                                                │
└──────────────────────────────────────┘
PHPのトリム関数「trim()」は半角スペースしか除去してくれない。

全角スペースも除去したいのであれば、
以下のように正規表現をつかって除去してしまう方法がある。
┌──────────────────────────────────────┐
│preg_replace('/^[ △]+|[ △]+$/u', '', $変数);                              │
└──────────────────────────────────────┘
  ※△の部分は、全角スペースにしてください

正規表現の置換は処理が遅いらしいが、それほど気にならないかも。

あ、「trim()」はスペース以外にもタブとかも除去してくれるんだった。

ってことで、「trim()」の既定の除去対象文字を洗い出したところ以下の通り。
  「 」   …(0x20)半角スペース
  「\t」  …(0x09)タブ
  「\n」  …(0x0A)復帰(改行)
  「\r」  …(0x0D)改行
  「\0」  …(0x00)NULL
  「\x0B」…(0x0B)垂直タブ

なので、以下のようにすれば完璧!
┌──────────────────────────────────────┐
│preg_replace('/^[△ \t\n\r\0\x0B]+|[△ \t\n\r\0\x0B]+$/u', '', $変数);      │
└──────────────────────────────────────┘
分類:PHP