• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

php新闻模块内容的截取

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

通常我们网站上的新闻信息是存储在数据库中的,这样我们需要用php来获取到数据库里面的新闻信息,再加以展示,下面用我们公司的新闻模块来说说其中的应用到的方法,此新闻模块有首先是一个新闻列表,其中展示出新闻的标题(title),发表时间(time),还有截取固定长度的新闻信息一坐新闻列表展示的内容,具体该如何实现呢。首先是查询数据库啦,将需要的数据都查询出来:

$result = mysql_query('select * from our_news where news_type in(1,3,4,5,6,7,8)');

然后用while方法把查询出来的额数据循环echo出来。代码如下:

 <ul>
       <?php while ($row = mysql_fetch_array($result)) {
    ?>
    <li>
    
        <a href="news_show<? echo $row['id'];?>.html" class="news_tit"><?php echo $row['news_title']; ?></a>
        <span><?php echo $row['news_time']; ?></span>
        <p>
        <?php 
           $str=$row['news_content']; 
           $str=preg_replace('/<img (.*) \/>/i','',$str);
           $str=preg_replace('/<p[^>]*>/i','',$str);
           $str=preg_replace('/<\/p>/i','',$str);
           $str = preg_replace ( "/<a[^>]*>/i", "", $str );
           $str = preg_replace ( "/<\/a>/i", "", $str );
           $str = preg_replace ( "/<span[^>]*>/i", "", $str );
           $str = preg_replace ( "/<\/span>/i", "", $str );
           if(iconv_strlen($str,'utf-8')<120)
              {
                  echo $str;
              }else{
                  echo iconv_substr($str, 0,120,'UTF-8').'...';
              }
              
             ?></p>
         <a href="news_show<? echo $row['id'];?>.html" class="right">查看更多>></a>
         <div class="clear"></div>
        
       </li>
<?php
}
?>
</ul>

由于新闻的主体部分时用到编辑器来保存到数据库的,里面会有一些标签,如img、p、a、span,那在这边显示需要去除这些标签才行,于是用到了preg_replace 方法来去除这些标签,代码如下:

           $str=$row['news_content']; 
           $str=preg_replace('/<img (.*) \/>/i','',$str);
           $str=preg_replace('/<p[^>]*>/i','',$str);
           $str=preg_replace('/<\/p>/i','',$str);
           $str = preg_replace ( "/<a[^>]*>/i", "", $str );
           $str = preg_replace ( "/<\/a>/i", "", $str );
           $str = preg_replace ( "/<span[^>]*>/i", "", $str );
           $str = preg_replace ( "/<\/span>/i", "", $str );

接下来就是截取固定长度的新闻内容了,首先是用iconv_strlen($str,'utf-8')获取新闻的长度,如果大于120就截取120个字节的长度出来,否则直接echo这的字符串出来就好了,实现代码如下:

              if(iconv_strlen($str,'utf-8')<120)
              {
                  echo $str;
              }else{
                  echo iconv_substr($str, 0,120,'UTF-8').'...';
              }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
利用php实现文件迁移重命名发布时间:2022-07-10
下一篇:
php获取机器网卡的物理(MAC)地址发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap