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



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

作为PHP的新手,我不知道如何根据字符数对内容进行分割。我们可以使用获得字符计数

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

但这是我所知的范围。有人能帮我完成这个挑战吗?

比方说,我从wordpress数据库中请求了一页内容,它有5000个字符长。目标是输出10个div或跨度,每个div或跨度包含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>";
}
?>

要拆分的详细信息(_S):http://www.php.net/manual/en/function.str-split.php

编辑:如果单词不应该在中间被剪切,请使用以下功能:

<?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
foreach(explode("{BREAK}", wordwrap(get_the_content(), 500, "{BREAK}")) as $chunk) {
    echo "<div>" . $chunk . "</div>n"; //The n creates a new line
}
?>

有关换行符的更多信息,请参阅http://www.php.net/manual/en/function.wordwrap.php

最新更新