使用PHP将文本字符串分成500个字符(或任何其他字符)的部分(单独的div)?

使用PHP将文本字符串分成500个字符(或任何其他字符)的部分(单独的div)?,php,string,wordpress,split,divide,Php,String,Wordpress,Split,Divide,获取文本字符串(来自mysql数据库,如wordpress post或page)并将文本划分为500个字符(或任何其他字符数)的部分,然后输出包装在自己的div容器中的每个500个字符的部分的最佳方法是什么 作为PHP新手,我不知道如何根据字符数分割内容。我们可以使用以下方法获得字符计数: <?php $content = get_the_content(); //wordpress function for post content as string. echo strlen($con

获取文本字符串(来自mysql数据库,如wordpress post或page)并将文本划分为500个字符(或任何其他字符数)的部分,然后输出包装在自己的div容器中的每个500个字符的部分的最佳方法是什么

作为PHP新手,我不知道如何根据字符数分割内容。我们可以使用以下方法获得字符计数:

<?php
$content = get_the_content(); //wordpress function for post content as string.
echo strlen($content);
?>

但这是我所知道的。有人能帮我解决这个挑战吗

比如说,我从wordpress数据库中请求了一页内容,它有5000个字符长。目标是输出10个div或span,每个div或span包含500个字符


提前感谢您的帮助。

PHP为此提供了一个函数,名为“str_split()”。您可以这样使用它:

<?php
$content = get_the_content();
$chunks = str_split($content, 500);

//Printing each chunk in a div
foreach($chunks as $chunk_content) {
    echo "<div>";
    echo $chunk_content;
    echo "</div>";
}
?>
<?php
foreach(explode("{BREAK}", wordwrap(get_the_content(), 500, "{BREAK}")) as $chunk) {
    echo "<div>" . $chunk . "</div>\n"; //The \n creates a new line
}
?>

有关str_split的更多信息:

编辑: 如果单词不应该在中间被切掉,使用这个函数代替:

<?php
$content = get_the_content();
$strings = wordwrap($content, 500, "{BREAK}"); //Put a {BREAK} every 500 characters
$chunks = explode("{BREAK}", $strings); //Put each segment separated by {BREAK} into an array field

//Printing each chunk in a div
foreach($chunks as $chunk_content) {
    echo "<div>";
    echo $chunk_content;
    echo "</div>";
}
?>

如果您想节省一些内存,可以将以下功能组合在一起:

<?php
$content = get_the_content();
$chunks = str_split($content, 500);

//Printing each chunk in a div
foreach($chunks as $chunk_content) {
    echo "<div>";
    echo $chunk_content;
    echo "</div>";
}
?>
<?php
foreach(explode("{BREAK}", wordwrap(get_the_content(), 500, "{BREAK}")) as $chunk) {
    echo "<div>" . $chunk . "</div>\n"; //The \n creates a new line
}
?>


有关wordwrap的更多信息,请参见

谢谢你,卢卡斯。真管用!我没有想到这样一个事实,有时使用这种方法会将单词一分为二:-p你知道有什么方法可以使用stru_split,但要确保单词不会被分割?或者,我想如果不可能的话,有没有类似的函数可以根据字数而不是字符数拆分数组?非常感谢你迄今为止的帮助-科林非常感谢你的扩展答案。但出于某种原因,代码对我不起作用。最初的代码工作起来很有魅力(除了将单词切成两半),但是更新后的代码不起作用。帖子内容根本没有得到服务。只是一张空白页。你知道为什么吗?我在您的编辑中使用了第一个代码块(较长的代码块),但我也测试了较短的版本,结果相同?我刚刚意识到,您的解决方案对我不起作用的原因是因为一个小的输入错误:您编写了“explore()”而不是“explode()”。现在你的代码工作了!令人惊叹的。非常有用。非常感谢你!你是一位绅士和学者!哦对不起,我犯了这个错误,我已经起床超过36小时了。玩得开心!