牛骨文教育服务平台(让学习变的简单)
博文笔记

如何用php截取文章的一段话以及第一个图片

创建时间:2017-08-03 投稿人: 浏览次数:171

最近,在做一个网站的时候,要求显示一段文章中的前一段话当作简介,就像我们这个用的这个博客一样,截取文章的前两百个字当作简介,然后还要截取文章中的第一个图片,如果没有,就从图片库中选择一个默认图片。那么这是怎么做到的呢,其实很简单,接下来就给大家看看我的代码


function getWord($content){
$str=strip_tags($content);//将html格式去掉
$str=mb_substr($str,0,70,"utf-8");//截取字段
return $str;
}

这样虽然文字截取出来了,但是文字中的空格还是会带上,这样既不美观,也不方便。所以,我又加了一个去除空格的函数

function trimall($str)//删除空格
{
    $qian=array(" "," "," "," "," ");$hou=array("","","","","");
    return str_replace($qian,$hou,$str);    
}

然后重新写了截取字段的函数,并在里面调用删除空格的函数

function getWord($content){
$str=strip_tags($content);//将html格式去掉

$str=trimall($str);//删除空格

$str=mb_substr($str,0,70,"utf-8");//截取字段

return $str;
}

这样,就能很方便的截取文章中的一段话,来作为文章的简介。

接下来是截取第一张图片,并且文章中没有图片时,随机抽取图片库中的图片

//返回文章中的第一个图片的路径
function getFirstImg($content){
$pattern="/<[img|IMG].*?src=["|"](.*?(?:[.gif|.jpg|.png]))["|"].*?[/]?>/";
preg_match_all($pattern,$content,$matchContent);
if(empty($matchContent[1][0])){
$matchContent[1][0]="article/picture/".rand(1,5).".jpg";
}
return $matchContent[1][0];
}

用到的是正则,这样就能很方便的搞定图片了。


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。