0

我正在使用一个自定义函数来根据一个参数截断文本,该参数说明允许的字符数。这是我的代码:

function bm_best_excerpt($length, $ellipsis, $content) {
$text = $content;
$text = strip_tags($text);
$text = substr($text, 0, $length);
$text = substr($text, 0, strripos($text, " "));
$text = $text.$ellipsis;
return $text;
}

在任何页面上,我都可以通过抓取一个 Wordpress 自定义字段(其中包含一个文本字符串)并通过这个函数运行它来截断文本,如下所示:

<?php $excerpt = get_field('long_description'); ?>
<p><?php echo bm_best_excerpt(70, ' ... ', $excerpt); ?></p>

这很好用,并显示$excerpt. 我想修改这个函数,所以它首先计算标题中的字符数(在描述之上),然后使用任何剩余的字符来进行描述。

为了说明这一点,假设我想总共允许 80 个字符。我的原始 HTML 如下:

这是一个相当长的标题

以下是一些 Lorem ipsum dolor sit amet、consectetur adipisicing elit、sed do eiusmod tempor incididunt ut labore et dolore magna aliqua 的描述。

我希望标题和描述之间的字符总数为 80。标题有 35 个字符,剩下 45 个字符用于描述。

我将如何修改上述函数以允许对附加内容变量(作为参数)进行计数,然后对$length? 我希望函数看起来像这样:

function bm_best_excerpt($length, $ellipsis, $content1, $content2) {

$content1标题和$content2描述在哪里

4

1 回答 1

0

试试这个把字符串加在一起并作为一个处理:

function bm_best_excerpt($length, $ellipsis, $content, $content2='') {
    // default content2 to empty string, allowing use of old method to still be valid
    $text = $content.' '.$content2; // add the second content to the end of the first
于 2012-08-14T16:23:57.003 回答