PHP去除多余空格 多个连续空格只保留一个
展开阅读全文
/**
* 多个连续空格只保留一个
*
* @param string $string 待转换的字符串
* @return unknown
*/
static public function merge_spaces ( $string )
{
    return preg_replace ( "/\s(?=\s)/","\\1", $string );
}

有一个函数可以将多余的字符串替换一次,保留其中一个。php就复杂多了,而且我对正则也不是太了解。

代码经我修改后,达到了我想要的目的:除两个连续空格外,其它的单个不连续空格均被替换。

<?php
header('Content-type: text/html; charset=utf-8');
$str = "PHP去除 多余空格 多个连续 空格只保留一个";
$str = preg_replace('/\s(?=\S)/','',$str); //只保留一个空格,还有(?=\s)这个写法叫“断言”
echo $str;
?>

去除所有空格如下:

正则匹配去除所有的空格

$lmcjl = "    lm  cjl  ";
$cjl = preg_replace('# #','',$lmcjl);
var_dump($cj);