THINKCMF-正则表达式获取正文中的第一个图片URL函数

231 阅读1分钟

1. 在COMMON底部添加函数代码

function cmf_get_first_image_url($id)
{  
    $content=Db::table('cmf_portal_post')->field('post_content')->where('id',$id)->find();//根据ID查询文章正文内容
    $content['post_content']=html_entity_decode($content['post_content']);//将HTML实体转为自字符
    $pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/"; //img路径的正则表达式
    preg_match_all($pattern,$content['post_content'],$array2);//匹配IMG标签获得数组
    if(!empty($array2[1][0])){
    echo($array2[1][0]);//输出第一个图片路径    
    }else{
        echo ("/upload/nopic.gif");
    }

}

2. 在模板页面调用此函数

{:cmf_get_first_image_url($id)}