2014-04-10 66 views
0

我有cms博客codeigniter。但是當我限制文章內容不起作用。我是codeigntier的新手,你能告訴我該怎麼做。如何限制codeigniter中的numwords文章?

這是控制器cms_helper.php

function get_excerpt($article, $numwords = 20){ 
    $string = ''; 
    $url = article_link($article); 
    $string .= '<h2>' . anchor($url, e($article->judul_berita)) . '</h2>'; 
    $string .= '<p class="pubdate">' . e($article->tanggal) . '</p>'; 
    $string .= '<p>' . e(limit_to_numwords(strip_tags($article->content), $numwords)) . '</p>';// content is not show 
    $string .= '<p>' . anchor($url, 'Read more', array('judul_berita' => e($article->judul_berita))) . '</p>'; 
    return $string; 
} 

function limit_to_numwords($string, $numwords){ 
    $excerpt = explode(' ', $string, $numwords + 1); 
    if (count($excerpt) >= $numwords) { 
     array_pop($excerpt); 
    } 
    $excerpt = implode(' ', $excerpt); 
    return $excerpt; 
} 

function e($string){ 
    return htmlentities($string); 
} 

private function _homepage() 
     { 
      $this->load->model('mberita'); 
      $this->db->limit(6); 
      $this->data['articles'] = $this->mberita->get_berita(); 

      //var_dump($this->data['articles']); 
     } 

請幫我做什麼。謝謝。

回答

0

嘗試下面的示例。這一定會奏效。

function limit_to_numwords($text,$no_words){ 
    $next=substr($text,$no_words,strlen($text));       
    $spacepos=strpos($next," ");      
    $desc=substr($text,0,$no_words+$spacepos)."..."; 
    return $desc; 
} 

由此,您可以從最近的空格字符中獲得完整的單詞文本。希望這會幫助你的要求。

另外,儘量調用該函數爲「$這個 - > limit_to_numwords」

1

你應該用笨文本幫手:

$this->load->helper('text'); // add this to the the function or to the constructor 

$string .= '<p>' . e(word_limiter(strip_tags($article->content), $numwords)) . '</p>'; 

在這篇文章中,你可以找到許多有用的笨text functions

相關問題