主题·自动获取文章第一张封面图

自从更新Emlog Pro程序之后,使用的是Markdown编辑器,因为此编辑器的特殊性,数据库存储的是特定语法,不是html代码,所以之前的获取文章封面的函数都不可用了。
本次给大家带来最新获取文章封面的函数,此函数需要根据文章的gid字段获取文章封面
如果文章中的封面字段为空,则自动根据两条正则表达式获取文章中的第一张图片
为什么是两条正则表达式呢?当有需要自定义img标签时,图片一样会获取。
函数代码:

/**
* 获取:指定文章的封面图
* @param $gid [文章id]
* @return $imgUrl 输出图片地址,无封面展示默认图
*/
function getBlogCover($gid = null){
//缺省默认图,自行更改地址
$imgUrl = TEMPLATE_URL.’static/images/default/noLoad.svg’;
if(!empty($gid)){
$db = Database::getInstance();
$sql = “SELECT content,cover FROM “.DB_PREFIX.”blog WHERE gid=’$gid'”;
$data = $db->once_fetch_array($sql);
if(!empty($data[‘cover’])){
$imgUrl = ltrim($data[‘cover’], ‘.’);
}else{
$regExp_1 = ‘|![(.*)]((.+))|i’;
$regExp_2 = ‘|]+src=”([^>”]+)”?[^>]*>|is’;
preg_match($regExp_1, $data[‘content’], $regExp_1_Arr);
preg_match($regExp_2, $data[‘content’], $regExp_2_Arr);
if(isset($regExp_1_Arr[2]) && isset($regExp_2_Arr[1])){
$place_1 = strpos($data[‘content’], $regExp_1_Arr[2]);
$place_2 = strpos($data[‘content’], $regExp_2_Arr[1]);
if($place_1[/hidecontent]

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容