分类说明中显示的限制字符

时间:2011-12-22 作者:Ahni

现在,我在侧边栏中使用以下代码,它从名为“People”的分类法中获取与帖子相关的第一个术语,并将其与链接和描述一起显示。

<?php $taxonomy = \'peoples\';$terms = get_the_terms( $post->ID , \'peoples\' );  if ( !empty( $terms ) ) : foreach ( $terms as $term ) {if($counter++ >= 1) break; $link = get_term_link( $term, $taxonomy ); if ( !is_wp_error( $link ) ) echo \'<h2>Profile: \' . $term->name . \'</h2><ul id="profile"><li class="big-listing \' . $term->slug. \'"><div class="text">\' .$term->description.\'</div></li></ul>\';} endif;?>
问题是,我的描述通常超过400字,所以我需要弄清楚如何将其长度限制在40字以内。

三个月来,我一直在寻找答案,哈哈;但我一点运气都没有。是否有人拥有可以处理此问题的功能?

谢谢

1 个回复
最合适的回答,由SO网友:Rob Vermeer 整理而成

function trunc($phrase, $max_words, $after = null) {
    $phrase_array = explode(\' \',$phrase);
    if(count($phrase_array) > $max_words && $max_words > 0)
        $phrase = implode(\' \',array_slice($phrase_array, 0, $max_words)) . $after;
    return $phrase;
}
如果输入中的单词多于$max\\U单词,此函数将返回缩短的输入。您可以这样使用它:

$string = "This is a sample string";
echo trunc($string, 3);
这将呼应出“这是一个”

在你的情况下,你必须像

<?php $taxonomy = \'peoples\';$terms = get_the_terms( $post->ID , \'peoples\' );  if ( !empty( $terms ) ) : foreach ( $terms as $term ) {if($counter++ >= 1) break; $link = get_term_link( $term, $taxonomy ); if ( !is_wp_error( $link ) ) echo \'<h2>Profile: \' . $term->name . \'</h2><ul id="profile"><li class="big-listing \' . $term->slug. \'"><div class="text">\' .trunc($term->description, 40).\'</div></li></ul>\';} endif;?>
第三个参数用于在字符串缩短后使用。

$string = "This is a sample string";
echo trunc($string, 3, \'...\');
这将呼应出“这是一个…”

结束

相关推荐