如何用php截取文章的一段话以及第一个图片
最近,在做一个网站的时候,要求显示一段文章中的前一段话当作简介,就像我们这个用的这个博客一样,截取文章的前两百个字当作简介,然后还要截取文章中的第一个图片,如果没有,就从图片库中选择一个默认图片。那么这是怎么做到的呢,其实很简单,接下来就给大家看看我的代码
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];
}
用到的是正则,这样就能很方便的搞定图片了。
- 上一篇: 获取指定字符前/后的字符串
- 下一篇: 将多维数组变成一维数组并去重