php去除头尾空格的2种方法

看似很简单的问题,其实还是有点坑的,首先这里 空格转义,不是字符串,直接用trim()是去不掉。

1,用preg_replace替换


$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的官方手册中找的,如果是utf8编码的话,用这个方法,没什么问题。如果GBK,GB2312,就会出现乱码。还有就是json_encode,这个函数如果是gbk,gb2312的话,中文字符会被替换成null。推荐使用utf8的编码。