php頭尾スペースを除去する2つの方法

838 ワード

簡単そうな問題ですが、実は少し穴があいています.まず、ここのスペースの変換は、文字列ではなく、trim()では行けません.
1,preg_で置換
 
  
$test = " dfadad  775fd   ";
$test = preg_replace('/^( |\s)*|( |\s)*$/', '', $test);
var_dump($test);

// :

string 'dfadad  775fd' (length=35)


この方法はグループの中の仲間が提供してくれたもので、ここで感謝します.この方法を推奨し,汎用性がある
2,trimメソッド
 
  
$test = " dfadad 3333adf775fd  ";
$test = trim(html_entity_decode($test),chr(0xc2).chr(0xa0));
var_dump($test);

// :

string 'dfadad 3333adf775fd' (length=19)


この方法は、phpの公式マニュアルから探しましたが、utf 8符号化なら、この方法で、問題ありません.GBK、GB 2312の場合、文字化けします.そしてjson_encode,この関数がgbk,gb 2312であれば,中国語文字はnullに置き換えられる.utf 8の符号化を推奨します.