Php 将大文本拆分为数量可变的部分
我需要这样的东西:Php 将大文本拆分为数量可变的部分,php,arrays,Php,Arrays,我需要这样的东西: $x = 4; $story = "BUT I MUST EXPLAIN TO YOU HOW ALL THIS MISTAKEN IDEA OF DENOUNCING PLEASURE AND PRAISING PAIN WAS BORN AND I WILL GIVE YOU A COMPLETE ACCOUNT OF THE SYSTEM AND EXPOUND THE ACTUAL TEACHINGS OF THE GREAT EXPLORER"; 例如,如果$x=
$x = 4;
$story = "BUT I MUST EXPLAIN TO YOU HOW ALL THIS MISTAKEN IDEA OF DENOUNCING PLEASURE AND PRAISING PAIN WAS BORN AND I WILL GIVE YOU A COMPLETE ACCOUNT OF THE SYSTEM AND EXPOUND THE ACTUAL TEACHINGS OF THE GREAT EXPLORER";
例如,如果$x==4
每个元素将包含四个单词:
但我必须解释一下
对你来说怎么样
etc
如果$x==5
每个元素将包含五个单词:
但我必须向你解释
你怎么弄错了
etc
有什么想法吗?您可以使用
array\u chunk()
来执行此操作:
$arr = explode(' 'nth($x), $story);
您已经尝试了什么?一种方法是计算单词之间的空格,并在$x-1空格后拆分字符串。但这只是一个粗略的想法。
<?php
$x = 4;
$story = "BUT I MUST EXPLAIN TO YOU HOW ALL THIS MISTAKEN IDEA OF DENOUNCING PLEASURE AND PRAISING PAIN WAS BORN AND I WILL GIVE YOU A COMPLETE ACCOUNT OF THE SYSTEM AND EXPOUND THE ACTUAL TEACHINGS OF THE GREAT EXPLORER";
# we do a normal explode to get it into an array
$arr = explode(' ', $story);
# break into arrays divided by $x
echo '<pre>'. print_r(array_chunk($arr, $x), 1) .'</pre>';
<?php
$story = "BUT I MUST EXPLAIN TO YOU HOW ALL THIS MISTAKEN IDEA OF DENOUNCING PLEASURE AND PRAISING PAIN WAS BORN AND I WILL GIVE YOU A COMPLETE ACCOUNT OF THE SYSTEM AND EXPOUND THE ACTUAL TEACHINGS OF THE GREAT EXPLORER";
foreach(
array_chunk(
str_word_count($story, 1),
4 // Your chunk size.
) as $group
)
echo implode(' ', $group), "\n";
BUT I MUST EXPLAIN
TO YOU HOW ALL
THIS MISTAKEN IDEA OF
DENOUNCING PLEASURE AND PRAISING
PAIN WAS BORN AND
I WILL GIVE YOU
A COMPLETE ACCOUNT OF
THE SYSTEM AND EXPOUND
THE ACTUAL TEACHINGS OF
THE GREAT EXPLORER