我使用这个PHP代码来显示最近的帖子和描述。最大desc 100字。如何在100个单词后显示3个点(像这样:这是bla bla bla的内容...... )。
请有人帮助我!
这是我的PHP代码:
<?php
$rss = new DOMDocument();
$rss->load('http://domain.com/feed/');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++) {
$title = str_replace(' & ', ' & ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$description = $feed[$x]['desc'];
$description = substr($description, 0, 138);
$date = date('d F Y - H:m', strtotime($feed[$x]['date']));
echo '<li><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong>';
echo '<br><small>'.$date.'</small>';
echo '<br>'.$description.'</br></li>';
}
?>
答案 0 :(得分:0)
如果我像这样查看你的代码,但这是在计算每个符号,而不是单词:
if(strlen($description) > 138) {
$description = substr($description, 0, 138).'…';
}
如果您想使用单词,请执行以下操作:
// put this function above your code....
function string_limit_words($string, $word_limit=100, $ending = '…') {
$words = explode(' ', $string);
if(count($words) > $word_limit) {
return implode(' ', array_slice($words, 0, $word_limit)).$ending;
}
return $string;
}
// and use it like this...
echo '<br>'.string_limit_words($description).'</br></li>';