如何修改我的php函数添加额外的文本?

时间:2011-08-19 21:16:58

标签: php

请注意,我在wordpress中使用了它。

我将此函数添加到functions.php:

function string_limit_words($string, $word_limit)
    { 
  $words = explode(' ', $string, ($word_limit + 1));
  if(count($words) > $word_limit)
  array_pop($words);
  return implode(' ', $words);
}

我将此添加到我的html:

<?php if ( $woo_options['woo_post_content_home'] == "true" ) the_content(); else $excerpt = get_the_excerpt(); echo string_limit_words($excerpt,38); ?>

这样做可以将文本缩短为指定的单词数(在此示例中为38)。我想要做的是在这38个单词之后添加[...]。关于我如何做到这一点的任何建议?

此致

4 个答案:

答案 0 :(得分:2)

将其更改为

function string_limit_words($string, $word_limit)
    { 
  $words = explode(' ', $string, ($word_limit + 1));
  if(count($words) > $word_limit)
  {
      array_pop($words);
      $words[] = '[...]';
  }
  return implode(' ', $words);
}

答案 1 :(得分:1)

只需

echo string_limit_words($excerpt,38) . " ...";

应该足够了。

答案 2 :(得分:1)

嗯...

function string_limit_words($string, $word_limit)
    { 
  $words = explode(' ', $string, ($word_limit + 1));
  if(count($words) > $word_limit)
  array_pop($words);
  return implode(' ', $words) . '...';
}

答案 3 :(得分:0)

您可以像这样修改函数,这样只有在缩短短语时才会添加省略号。

function string_limit_words($string, $word_limit)
    { 
  $ellipses = '';
  $words = explode(' ', $string, ($word_limit + 1));
  if(count($words) > $word_limit) {
    array_pop($words);
    $ellipses = ' ...';
  }
  $newString = implode(' ', $words) + $ellipses;
  return $newString
}