北风如刀,满地     冰霜。   江南近海滨的一条大路上,一队清兵手执刀枪,押着七辆囚车,冲风冒寒,向北而行。   前面三辆囚车中分别监禁的是三个男子,都作书生打扮,一个是白发老者,两个是中年人。后面四辆囚车中坐的是女子,最后一辆囚车中是个少妇,怀中抱着个女婴,女婴啼哭不休。她母亲温言相呵,女婴只是大哭。囚车旁一清兵恼了,伸腿在车上踢了一脚,喝道:“ 再哭,再哭,老子踢死你!”那女婴一惊,哭得更加响了。上面一段,怎么把空白删了,段落前面的空白貌视删不掉,下面是我替换后的情况
  北风如刀,满地冰霜。  江南近海滨的一条大路上,一队清兵手执刀枪,押着七辆囚车,冲风冒寒,向北而行。  前面三辆囚车中分别监禁的是三个男子,都作书生打扮,一个是白发老者,两个是中年人。后面四辆囚车中坐的是女子,最后一辆囚车中是个少妇,怀中抱着个女婴,女婴啼哭不休。她母亲温言相呵,女婴只是大哭。囚车旁一清兵恼了,伸腿在车上踢了一脚,喝道:“再哭,再哭,老子踢死你!”那女婴一惊,哭得更加响了。

解决方案 »

  1.   

    strip_tags();这个函数应该可以完成的吧。
      

  2.   

    你做的不错,但没有考虑到全角空格
    $s = '  北风如刀,满地 冰霜。    江南近海滨的一条大路上,一队清兵手执刀枪,押着七辆囚车,冲风冒寒,向北而行。    前面三辆囚车中分别监禁的是三个男子,都作书生打扮,一个是白发老者,两个是中年人。后面四辆囚车中坐的是女子,最后一辆囚车中是个少妇,怀中抱着个女婴,女婴啼哭不休。她母亲温言相呵,女婴只是大哭。囚车旁一清兵恼了,伸腿在车上踢了一脚,喝道:“ 再哭,再哭,老子踢死你!”那女婴一惊,哭得更加响了。
    ';echo preg_replace('/\s| /s', '', $s);
    out:
    北风如刀,满地冰霜。江南近海滨的一条大路上,一队清兵手执刀枪,押着七辆囚车,冲风冒寒,向北而行。前面三辆囚车中分别监禁的是三个男子,都作书生打扮,一个是白发老者,两个是中年人。后面四辆囚车中坐的是女子,最后一辆囚车中是个少妇,怀中抱着个女婴,女婴啼哭不休。她母亲温言相呵,女婴只是大哭。囚车旁一清兵恼了,伸腿在车上踢了一脚,喝道:“再哭,再哭,老子踢死你1那女婴一惊,哭得更加响了。
      

  3.   

    你用utf-8编码,没有问题
    GBK,这里是出错了      ==============>>>>>>>>>>>>老子踢死你!”那女婴一惊
      

  4.   

    :“ 再哭,再哭,老子踢死你!”那女婴一惊,哭得更加响了。俺的编码全GBK的,额
      

  5.   

    GBK怎么区别开两个双字节符间的空格,我想半天了
      

  6.   

    好吧,我费了近两个小时时间才想到了这个方法,恩,也算以后遇到全角空格时的处理方式吧,先公开一下,有问题的话大家再研究吧$str=<<<end
      北风如刀,满地冰霜。  江南近海滨的一条大路上,一队清兵手执刀枪,押着七辆囚车,冲风冒寒,向北而行。  前面三辆囚车中分别监禁的是三个男子,都作书生打扮,一个是白发老者,两个是中年人。后面四辆囚车中坐的是女子,最后一辆囚车中是个少妇,怀中抱着个女婴,女婴啼哭不休。她母亲温言相呵,女婴只是大哭。囚车旁一清兵恼了,伸腿在车上踢了一脚,喝道:“再哭,再哭,老子踢死你!”那女婴一惊,哭得更加响了。
    end;//直接从你替换后的开始,就是保证没有单节字符的干扰
    $str=str_split($str,2);
    while(($key=array_search(' ',$str))!==false)
    unset($str[$key]);
    foreach($str as $v)
    echo $v;
      

  7.   

    晕,坦白说,你很耐心你这实现思路,存在缺陷,如果字符串开头存在一个a,你这个2字节分段就挂了而且这么处理,效率也是个问题前面提过了,UTF-8下没有问题
    如果一定不想转码,可以考虑mb_regex_encoding('gb2312');
    echo preg_replace('/\s*/', '', mb_ereg_replace(' ', '', $str));
      

  8.   

    我知道有缺陷啊。。注释里写着了
    你下面说的办法行,但是转码的我不会,我不知道怎么转码,能给具体说说吗,我用mb_convert_encoding把gb2312转成utf8了,然后正则把全角空格替换成空,还是没用啊