限制php中的文本长度并提供“阅读更多”链接

2022-08-30 10:06:41

我有文本存储在php变量$text。此文本可以是 100 或 1000 或 10000 字。按照目前的实现,我的页面根据文本进行扩展,但是如果文本太长,页面看起来很丑陋。

我想获取文本的长度并将字符数限制为500,如果文本超过此限制,我想提供一个链接,上面写着“阅读更多”。如果单击“阅读更多”链接,它将显示一个弹出窗口,其中包含$text中的所有文本。


答案 1

这就是我使用的:

// strip tags to avoid breaking any html
$string = strip_tags($string);
if (strlen($string) > 500) {

    // truncate string
    $stringCut = substr($string, 0, 500);
    $endPoint = strrpos($stringCut, ' ');

    //if the string doesn't contain any space then it will cut without word basis.
    $string = $endPoint? substr($stringCut, 0, $endPoint) : substr($stringCut, 0);
    $string .= '... <a href="/this/story">Read More</a>';
}
echo $string;

您可以进一步调整它,但它可以在生产中完成工作。


答案 2
$num_words = 101;
$words = array();
$words = explode(" ", $original_string, $num_words);
$shown_string = "";

if(count($words) == 101){
   $words[100] = " ... ";
}

$shown_string = implode(" ", $words);

推荐