php fgets函数读取多余的空格解决

来源:互联网 发布:安卓蓝牙调试助手 源码 编辑:程序博客网 时间:2024/05/21 07:12
php用fgets读字符串的时候,本来遇到换行就停止读了,但是实际会在字符串后面多读点东西,我感觉是windows的换行的原因,\r\n,可能是这个原因,最后总有一个空格,导致我在使用字符串的时候总发生错误。
进过尝试,主要使用fgetc,和case,发现字符串结尾有两个ascii为 0  字符,这两个东西造成了字符串后面的空格。
while(!feof($myfile)) {        $data1 = fgets($myfile);        $i = strlen($data1);        //str_replace(array('\n' ,'\r', '\n\r', ''), 'v', $data1);        switch ($data1) {             case 0:                  # code...             //echo 0;                  break;             case 10:             echo 10;             break;             default:                  # code...             echo 11;                  break;        }                    echo $i;          //$i++;          echo "aa".$data1."aa";                    echo "<br>";          echo "aa".substr($data1,0, $i-2)."aa";                    echo "<br>";          }
所以果断用字符串截取函数,切掉最后两个字符就好了。
$i = strlen($data1);echo "aa".substr($data1,0, $i-2)."aa";

这样就能正常读取了,但是最后一行字符串后面要加个空格

0 0
原创粉丝点击