求助!
求截取文章部分段落的代码。
例如:
<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  就是要它首页这种效果。

解决方案 »

  1.   

    substr/mb_substr();函数。 具体看手册。。
      

  2.   

    <?php
    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);?>