比如: aa--bb 这样的匹配两个空格,aa----bb这样的不匹配。注释: “-”表示一个空格

解决方案 »

  1.   

    这个意思?$s = <<< TXT
    aa  bb cc   dd
    TXT;echo preg_replace('#\b  \b#', '__', $s);aa__bb cc   dd
      

  2.   

    嗯,就是这个意思。但是,用字符为端的2个空格可以匹配,用特殊符号为端的却不能匹配。如: echo preg_replace('#\b  \b#', '__', ‘aa  bb cc  <  >’);结果是:aa__bb cc < >有没有办法都让它匹配呢?
      

  3.   

    测试一下这个
    preg_replace('#(^|[^ ])  ([^ ]|$)#s', '$1__$2', $s);
      

  4.   

    echo preg_replace('/(?<! )  (?! )/', '__', 'aa  bb cc   <  >');