echo preg_replace("/\s+/", " ",$post);
不知道是不是你这个意思?

解决方案 »

  1.   

    <?php
    $post = "&nbsp;[table&nbsp;width=100&nbsp;align=center]&nbsp;";
    do {
      $tmp = $post;
      $post=preg_replace("/(\[.*)(&nbsp;)+(.*\])/is","\\1 \\3",$post);
    }while($tmp != $post);
    echo $post;
    ?>
    输出
    &nbsp;[table width=100 align=center]&nbsp;
      

  2.   

    一直有个疑问耶,那个preg_replace中"/(\[.*)(&nbsp;)+(.*\])/is"部分的规则是怎么样的??我就是看不懂,有没有资料可以看呀??
      

  3.   

    谢谢两位。xuzuning的帮我解决了问题。
    不过我通过另外一种方法也解决了:我将两个空格替换成一个全角字符空格,这样解决了。呵呵。