php中怎样将多余的空格用一个空格替换?

比如将“美女 大学生 志愿者 英语老师”替换为:
“美女 大学生 志愿者 英语老师”。请高手指点!

<?php
$str="英语 数组 大学 可乐 ";
$arr=explode(" ", $str);
$tmp=array();
for($i=0;$i<count($arr);$i++)
{
if($arr[$i])
array_push($tmp, $arr[$i]);
}
$tmp_str=implode(" ", $tmp);
echo $tmp_str;
?>

理论上应该是用正则表达式之类的来做,如果不会正则表达式也没关系,可以用数组来做,你可以参考一下

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-04
用正则替换
preg_replace("/[\s]+/is"," ",$str);追问

i是不是表示不区分大小写?那s表示什么?

追答

这里is可以省略,个人习惯。
s表示 . 匹配任何空白,包括换行。

第2个回答  2013-05-04
美女 大学生 志愿者 英语老师;.