我想将一个大文本分成10个部分(不知何故相等的部分)。 我使用这个功能:
<?php
function chunk($msg) {
$msg = preg_replace('/[\r\n]+/', ' ', $msg);
//define character length of each text piece
$chunks = wordwrap($msg, 10000, '\n');
return explode('\n', $chunks);
}
$arrayys=chunk($t);
foreach($arrayys as $partt){echo $partt."<br/><br/><br/>";}
?>
但是可以定义每个文本片段的字长(不是字符长度)吗?在这种情况下如何将文字分成文字?
答案 0 :(得分:0)
我建议使用“爆炸” http://php.net/manual/en/function.explode.php 用空格分割字符串。然后,您将获得一系列单词,您可以在其中迭代并构建文本部分。
答案 1 :(得分:0)
来自docs,
<?php
$text = "ABCDEFGHIJK.";
$newtext = wordwrap($text,3,"\n",true);
echo "$newtext\n";
?>
输出:ABC DEF GHI JK.
答案 2 :(得分:0)
你可以这样做。将文本分成相等的部分。$str
中的文本有20个字符,因此文本被分成10个部分,其中2个字符作为一组。
假设,如果你的大文字是1000个字符,那么你将得到100个相等的文本部分。
<?php
$div=10;//Equally split into 10 ...
$str="abcdefghijklmnopqrst";
print_r(array_chunk(str_split($str), (strlen($str)/($div))));
<强>输出:强>
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
[1] => f
)
[3] => Array
(
[0] => g
[1] => h
)
[4] => Array
(
[0] => i
[1] => j
)
[5] => Array
(
[0] => k
[1] => l
)
[6] => Array
(
[0] => m
[1] => n
)
[7] => Array
(
[0] => o
[1] => p
)
[8] => Array
(
[0] => q
[1] => r
)
[9] => Array
(
[0] => s
[1] => t
)
)