你这个txt文本,应该是编码问题,最好是恢复到正确的编码,或者可以完整显示内容。

解决方案 »

  1.   

    估计是中文乱码
    $aaa = 'dfasd打单机1233';
    $bbb = preg_replace("/[^\w]/", '', $aaa);
    echo $bbb;
      

  2.   


    这个是txt 另存把jpg改为txt就行了跟中文关系不大,因为是个国外的项目,好像是从的数据库里导出来的,还得通过php导入到其他项目里。
      

  3.   

    说错了 把jpg改为zip解压就行了
      

  4.   

    试试用这个方法过滤下。
    function filter_utf8_char($ostr){
        preg_match_all('/[\x{FF00}-\x{FFEF}|\x{0000}-\x{00ff}|\x{4e00}-\x{9fff}]+/u', $ostr, $matches);
        $str = join('', $matches[0]);
        if($str==''){   //含有特殊字符需要逐個處理
            $returnstr = '';
            $i = 0;
            $str_length = strlen($ostr);
            while ($i<=$str_length){
                $temp_str = substr($ostr, $i, 1);
                $ascnum = Ord($temp_str);
                if ($ascnum>=224){
                    $returnstr = $returnstr.substr($ostr, $i, 3);
                    $i = $i + 3;
                }elseif ($ascnum>=192){
                    $returnstr = $returnstr.substr($ostr, $i, 2);
                    $i = $i + 2;
                }elseif ($ascnum>=65 && $ascnum<=90){
                    $returnstr = $returnstr.substr($ostr, $i, 1);
                    $i = $i + 1;
                }elseif ($ascnum>=128 && $ascnum<=191){ // 特殊字符
                    $i = $i + 1;
                }else{
                    $returnstr = $returnstr.substr($ostr, $i, 1);
                    $i = $i + 1;
                }
            }
            $str = $returnstr;
            preg_match_all('/[\x{FF00}-\x{FFEF}|\x{0000}-\x{00ff}|\x{4e00}-\x{9fff}]+/u', $str, $matches);
            $str = join('', $matches[0]);
        }
        return $str;
    }