PHP-代码-读取文本换行符的小问题解决方法_PHP教程

php中文网
发布: 2016-07-13 17:51:08
原创
1743人浏览过

先演示下效果

读取一个txt文本的时候会发现结尾会多出两个字符,是因为有换行符的存在,在windows里面换行符的表示方法为 \r\n

例如我们写入一个字符串到txt文件:

$f1="t1.txt";
$str="123";
$fp1=fopen($f1,"w");
fwrite($fp1,$str);
fclose($fp1);
----------------------------------------

显示结果:

123

立即学习PHP免费学习笔记(深入)”;

----------------------------------------

然后我们再测试写入两次到文件

$f1="t1.txt";
$str="123";
$fp1=fopen($f1,"w");
fwrite($fp1,$str.$str);
fclose($fp1);

----------------------------------------

显示结果:

123123

----------------------------------------

这里写入的时候并非我们要的结果,我们想在写入123后要换行那么需要加入一个换行符,windows下面的换行符为: \r\n

测试代码:

$str="123";
$fp1=fopen($f1,"w");
fwrite($fp1,$str."\r\n".$str."\r\n");
fclose($fp1);

-------------------------------------------显示结果

123

立即学习PHP免费学习笔记(深入)”;

123

立即学习PHP免费学习笔记(深入)”;

这里是空着的一行起始点,虽然看不到但是鼠标指针可以点这里写入字符串。

文小言
文小言

百度旗下新搜索智能助手,有问题,问小言。

文小言 57
查看详情 文小言

----------------------------------------

在我们处理文本文件的时候只要是换行的都有换行符!

所以我们要加以过滤后才能使用一行的字符串!

测试代码:

我们读入文件格式如:

---------------------

123

立即学习PHP免费学习笔记(深入)”;

1234

--------------------

的文件

$f1="t1.txt";
$str="123";
$fp1=fopen($f1,"w");
fwrite($fp1,$str."\r\n".$str."\r\n");
fclose($fp1);

$f1="t1.txt";
$fp1=fopen($f1,"r");
while(!feof($fp1)){
 $buffer1=fgets($fp1);
 echo strlen($buffer1);
 echo "
";
 }
fclose($fp1);

------------------------

显示的结果:

5
5
0

证明了字符串123的长度是5而不是3,因为换行符的存在才导致的,那么我们在读取的基础上去掉最后两个字符即可!

代码:

$f1="t1.txt";
$str="123";
$fp1=fopen($f1,"w");
fwrite($fp1,$str."\r\n".$str."\r\n");
fclose($fp1);

$f1="t1.txt";
$fp1=fopen($f1,"r");
while(!feof($fp1)){
 $buffer1=fgets($fp1);
 //第一种保守的方法,先计算此时获得的字符串长度,然后截取第一个字符到倒数第二个字符截止就是我们想要的字符串了!
 $buffer1_a=substr($buffer1,0,strlen($buffer1)-2);
 //第二种方法是直接采用substr函数的特殊性,直接截取0到-2之间的字符串
 $buffer1_b=substr($buffer1,0,-2);
 }
fclose($fp1);

这样就可以正常的使用代码读取想要的字符串了

 


摘自 cyuyan112233的专栏

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478228.htmlTechArticle先演示下效果 读取一个txt文本的时候会发现结尾会多出两个字符,是因为有换行符的存在,在windows里面换行符的表示方法为 \r\n 例如我们...
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号