如何划分文字?

问题描述 投票:0回答:2

我有个问题。我有一个用PHP安装的文本文件,我想分开350个单词并将它们保存为文本文件,如1.txt 2.txt 3.txt ...我怎么能这样做?

我尝试了这个,但它不起作用:

$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;
}
php text upload textwrapping divide
2个回答
0
投票

还有其他形式的这个问题已经回答了看看PHP script to split large text file into multiple files

大多数人在一定的行间隔分裂,因为它很容易用循环控制。

Cut the content after 10 words

或者在350个单词之后剪切你的字符串,只要确保你的reg表达式占空格和除逗号或引号等字母之外的特殊字符。


0
投票

这是我的解决方案。不是很多代码。这将返回每个x字的数组,或者对于最后的结果返回剩余的字,如果小于x。

$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.";

$chunkSize = 5;
print_r(array_chunk(str_word_count($text, 1), $chunkSize));
Array (
    [0] => Array
    (
        [0] => Lorem
        [1] => ipsum
        [2] => dolor
        [3] => sit
        [4] => amet
    )

    [1] => Array
    (
        [0] => consectetuer
        [1] => adipiscing
        [2] => elit
        [3] => sed
        [4] => diam
    )
...

PHP具有一切功能(咳嗽@Erik)。见str_word_countarray_chunk

© www.soinside.com 2019 - 2024. All rights reserved.