我从excel里面读取到一个字符串数据,想要去空格处理,发现用
$str1 = '21   56144';
                        $str1  = str_replace("\t","",$str1);
$str1  = str_replace("\t\r","",$str1);
$str1  = str_replace("\r","",$str1);
$str1  = str_replace("\n","",$str1);
$str1  = str_replace(" ","",$str1);进行操作后,输出还是21   56144这个结果各位有没有好的方法

解决方案 »

  1.   

    这个论坛把你的原始数据改变了
    请贴出原始数据的 base64 编码echo base64_encode($str1); //贴出结果
      

  2.   

    echo base64_encode($str1); 的结果是MjHCoMKgwqA1NjE0NA==
      

  3.   

    echo preg_replace("/\s/","",'21 56144');
      

  4.   

    $str1 = '21 56144';
    21和56144之间的空白有可能不是空格或\t
    其他字符也可能会显示为空白的
      

  5.   

    那中间并非空格,,,而是有6个字符LZ可以这么测试$str = base64_decode('MjHCoMKgwqA1NjE0NA==');
    for($i=0,$n=strlen($str);$i<$n;++$i)
    {
    echo ord($str{$i}), "\n";
    }
    如果你想过滤,,就样本来说,如下即可echo preg_replace('/[\x80-\xFF]/', '', $str);
      

  6.   

    楼上的,按照你的方法,真的可以实现去空格了。
    敢请问那个测试的作用是什么,我刚刚也有上网查base64_decode的相关资料,不过不是很明白,它在这里的作用
      

  7.   

    如果其余都是数字的话,就这样
    echo preg_replace("/\D/","",base64_decode('MjHCoMKgwqA1NjE0NA=='));