求助!
求截取文章部分段落的代码。
例如:
<p class="cls">p1</p>
<p>p2</p>
<p>p3</p>
<p class="cls">
<p>aaaaaa</p>
<p>bbbbb</p>
<p>ccccc</p>
</p>
....
<p>pn</p>
截取前几个段落比如wordpress的首页,每条都显示文章前部分内容,点进入再显示文章全部内容,希望朋友提供截取段落的代码。可以看看爱范儿 http://ifanr.com 就是要它首页这种效果。
求截取文章部分段落的代码。
例如:
<p class="cls">p1</p>
<p>p2</p>
<p>p3</p>
<p class="cls">
<p>aaaaaa</p>
<p>bbbbb</p>
<p>ccccc</p>
</p>
....
<p>pn</p>
截取前几个段落比如wordpress的首页,每条都显示文章前部分内容,点进入再显示文章全部内容,希望朋友提供截取段落的代码。可以看看爱范儿 http://ifanr.com 就是要它首页这种效果。
class Helper extends CController
{
public static function truncate_utf8_string($string, $length, $etc = '...')
{
$result = '';
$string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');
$strlen = strlen($string);
for ($i = 0; (($i < $strlen) && ($length > 0)); $i++)
{
if ($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0'))
{
if ($length < 1.0)
{
break;
}
$result .= substr($string, $i, $number);
$length -= 1.0;
$i += $number - 1;
}
else
{
$result .= substr($string, $i, 1);
$length -= 0.5;
}
}
$result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');
if ($i < $strlen)
{
$result .= $etc;
}
return $result;
}
}
?>调用方法 <?php echo Helper::truncate_utf8_string($row->news_content,40,false);?>