我正在使用自定义函数根据一个参数来截断文本,该参数说明了允许的字符数。这是我的代码:
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
的前70个字符。我想修改此函数,因此它首先计算标题中的字符数(在描述上方),然后使用任何剩余字符进行此描述。
为了说明这一点,假设我想允许总共80个字符。我的RAW 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
是说明
答案 0 :(得分: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