Php文本换行并保存txt文件

时间:2015-12-30 12:44:04

标签: php sed explode word-wrap

我有点问题。 我想包装文本并保存到txt文件。 例如,文字是

  

Lorem ipsum dolor sit amet,consectetuer adipiscing elit,sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat。 Ut wisi enim ad minim veniam,quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat。 Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat,vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi。 Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum。 Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem。调查人员演示lectre legere me lius quod ii legunt saepius。 Claritas est etiam processus dynamicus,qui sequitur mutationem consuetudium lectorum。 Mirum est notare quam littera gothica,quam nunc putamus parum claram,anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima。 Eodem modo typi,qui nunc nobis videntur parum clari,fiant sollemnes in futurum。

我想每40个单词包装一次文本并保存一个txt文件。

所以第一个txt文件:

  

Lorem ipsum dolor sit amet,consectetuer adipiscing elit,sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat。 Ut wisi enim ad minim veniam,quis nostrud exercation tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat。

第二个txt文件:

  

Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat,vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait

就是这样。

我尝试了这段代码,但我无法弄清楚。

$text = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
 nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et.";
$word = explode(" ",$text);
$count = count($word);
$limit = 40;
if($count <= $limit) { $cut = $count*50/100; }
else { $cut = $limit; }
for($i = 0; $i <= $cut; $i++)
{ $text1= $word[$i].' ' ; echo $text1;}

感谢您的帮助。 圣诞节快乐,新年快乐。

3 个答案:

答案 0 :(得分:1)

使用file_put_contents()将文本存储到文本(.txt)文件中 请参阅此链接:http://php.net/manual/en/function.file-put-contents.php

因为:

$file   = "/folder_path/name_of_file.txt";
file_put_contents($file, print_r($_GET['data'], true), FILE_APPEND);

并且您必须授予您要存储文本文件的文件夹的权限。

答案 1 :(得分:1)

好吧,您可以使用AutoSizeColumnsMode = None 功能。此函数将中断每个X字符中的字符串,插入要分割的字符。

例如,在此代码中,我想要每20个字符中断字符串:

wordwrap

回报将是:

$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "\n");

因此,字符串上划分的每个部分都由The quick brown fox jumped over the lazy dog. 分隔。现在,您可以使用\n将字符串的各个部分放入数组

explode

这将是我的数组,其中包含断字符串:

$newtext = explode("\n", $newtext);

要保存文件,您可以看到本教程:

http://php.net/manual/en/function.file-put-contents.php

参考文献: http://php.net/manual/en/function.wordwrap.php

答案 2 :(得分:0)

$charnum="100";
$number=strlen($text);
$tekrar=$number/$charnum;
$newtext= str_replace("\n", "", $text);
$newtext = wordwrap($newtext, $charnum, "\n");
$newtext = explode("\n", $newtext);

for ( $count=1 ; $count < $tekrar ; $count++ )
{

$file   = "/files/$count.txt";
file_put_contents($file,$newtext[$count]);

我这样写,但这次我接受了警告:

Warning: file_put_contents(/files/1.txt): failed to open stream: No such file or directory in