/**
* 多個連續空格只保留一個
*
* @param string $string 待轉換的字符串
* @return unknown
*/
static public function merge_spaces ( $string )
{
return preg_replace ( "/\s(?=\s)/","\\1", $string );
}
出處:http://www.open-open.com/code/view/1420711244390 //Delphi有一個函數可以將多余的字符串替換一次,保留其中一個。php就復雜多了,而且我對正則也不是太了解。
代碼經我修改后,達到了我想要的目的:除兩個連續空格外,其它的單個不連續空格均被替換。
<?php
header('Content-type: text/html; charset=utf-8');
$str = "PHP去除 多余空格 多個連續 空格只保留一個";
$str = preg_replace('/\s(?=\S)/','',$str); //只保留一個空格,還有(?=\s)這個寫法叫“斷言”
echo $str;
?>
