我有一个名为的文件test.txt。它具有多行文本,如下所示:Test Data:Tester 2 Data:Tests 3 Data:我希望有一个PHP脚本来打开该文件,Data:在每一行的单词前去除所有文本并输出结果:Data:Data:Data:到目前为止,我的PHP:$myfile = fopen("test.txt", "r") or die("Unable to open file!");$data = fread($myfile,filesize("test.txt"));// foreach line do this$line = strstr($data,"Data:");//append $line to newtest.txt// endforeachfclose($myfile);
1 回答
![?](http://img1.sycdn.imooc.com/54584e120001811202200220-100-100.jpg)
吃鸡游戏
TA贡献1829条经验 获得超7个赞
您可以用来file()逐行打开和循环浏览文件。
当您删除之前的所有内容时Data:,根据提供的测试数据(这是我要做的所有事情),我们只需要知道行数即可。因此,我们可以count()用来获取该信息。
然后将新数据构造为变量,最后使用将该变量写入(新)文件file_put_contents()。
使用trim()将删除最后的多余行返回。
$raw = file("./test.txt");
$lineCount = count($raw);
$newFile = null;
do {
$newFile .= "Data:\r\n";
} while(--$lineCount > 0);
file_put_contents('./test-new.txt',trim($newFile));
编辑:正如“不要惊慌”在下面的评论中所说,您str_repeat()甚至可以使用它来删除do while循环。
这是count()行内移动的版本:
$raw = file("./test.txt");
$newFile = str_repeat("Data:\r\n",count($raw));
file_put_contents('./test-new.txt',trim($newFile));
- 1 回答
- 0 关注
- 108 浏览
添加回答
举报
0/150
提交
取消