dedecms 提取文章中第一个图片的URL地址。
第一步:修改include/extend.func.php添加//提取图集第一张大图,为arclist用functionget_firstbigimg($arcid){/...
第一步:修改include/extend.func.php
添加
// 提取图集第一张大图,为arclist用
function get_firstbigimg($arcid){
//获取图片附加表imgurls字段内容进行处理
$dsql = new DedeSql(false);
$row = $dsql->GetOne("Select imgurls From dede_addonimages where aid='$arcid'");
preg_match_all("|{dede:img ddimg='(.*)' text=(.*)|Uis",$row['imgurls'],$imgurls); //获取所有图片地址
$get_firestimg = $imgurls[1][0]; //
return $get_firestimg;
}
2 修改include/taglib/arclist.lib.php
在373行添加
$row['first_imgurl'] = get_firstbigimg($row['id']);
3 在频道首页模板里调用
{dede:arclist row=3 orderby=pubdate typeid='17' type='image.' titlelen='60'}<div class="pic">
<a href="[field:arcurl/]" target="_blank"><img src=[field:first_imgurl/] /><br />[field:title/]</a></div>{/dede:arclist}
这是针对图集的,我想问问 如何针对文章的, 只要文章中第一个图片的URL 我需要在文章列表用。。。 最好是在 include/extend.func.php 这里添加 在外部调用的。 展开
添加
// 提取图集第一张大图,为arclist用
function get_firstbigimg($arcid){
//获取图片附加表imgurls字段内容进行处理
$dsql = new DedeSql(false);
$row = $dsql->GetOne("Select imgurls From dede_addonimages where aid='$arcid'");
preg_match_all("|{dede:img ddimg='(.*)' text=(.*)|Uis",$row['imgurls'],$imgurls); //获取所有图片地址
$get_firestimg = $imgurls[1][0]; //
return $get_firestimg;
}
2 修改include/taglib/arclist.lib.php
在373行添加
$row['first_imgurl'] = get_firstbigimg($row['id']);
3 在频道首页模板里调用
{dede:arclist row=3 orderby=pubdate typeid='17' type='image.' titlelen='60'}<div class="pic">
<a href="[field:arcurl/]" target="_blank"><img src=[field:first_imgurl/] /><br />[field:title/]</a></div>{/dede:arclist}
这是针对图集的,我想问问 如何针对文章的, 只要文章中第一个图片的URL 我需要在文章列表用。。。 最好是在 include/extend.func.php 这里添加 在外部调用的。 展开
3个回答
展开全部
同你的方法, 只要在include/extend.func.php 加入一个自定义函数,然后再在列表页直接调用。
函数:
/*
*获取字符串的第一个图片地址
*/
function getbodyfirstpic($str_img){
preg_match_all("/<img.*\>/isU",$str_img,$ereg);//正则表达式把图片的整个都获取出来了
$img=$ereg[0][0];//图片
$p="#src=('|\")(.*)('|\")#isU";//正则表达式
preg_match_all ($p, $img, $img1);
$img_path =$img1[2][0];//获取第一张图片路径
//return $img_path; //仅返回地址
return $img; //返回整个图片
}
列表调用:
[field:body function="getbodyfirstpic(@me)" /]
函数:
/*
*获取字符串的第一个图片地址
*/
function getbodyfirstpic($str_img){
preg_match_all("/<img.*\>/isU",$str_img,$ereg);//正则表达式把图片的整个都获取出来了
$img=$ereg[0][0];//图片
$p="#src=('|\")(.*)('|\")#isU";//正则表达式
preg_match_all ($p, $img, $img1);
$img_path =$img1[2][0];//获取第一张图片路径
//return $img_path; //仅返回地址
return $img; //返回整个图片
}
列表调用:
[field:body function="getbodyfirstpic(@me)" /]
展开全部
文章中默认的有一个把第一张图片做为缩览图,这样图片有就了。直接调缩览图这样就方便多了。是吧,如果达到你的要求了记得给个满意哦
更多追问追答
追问
你能不能有点智商? 所闻非所答,如果像你那么说,我需要这么费劲嘎哈。
追答
你有没有道德好心帮你处理问题还这么说,你有智商你自已搞吧。不想理你这种没道德的人
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dede论坛里面是有教程的,,新手建议下载pageadminCMS系统来,
1、下载PageAdmin系统后,如果本机或服务器安装,请参考:PageAdmin安装配置教程 ,如果购买虚拟主机,通过ftp上传PageAdmin文件压缩包到你购买的网站空间,然后解压,输入你的网站空间绑定的域名即可打开安装界面。
2、第一次安装PageAdmin,默认打开PageAdmin的安装界面,如下图:
3、点击下一步,进行权限检测,检测通过后进入设置界面,在这里设置网站的主域名,约束方式默认即可,后台目录默认admin,可以自行修改。
数据库设置:本机或服务器请参考sql配置教程,如果购买的网站空间,数据库参数资料联系空间商。
根据实际参数填写好好进入下一步。
4、设置好默认管理员和密码。
5、安装完毕后,点击管理网站进入管理后台。
6、进入管理员登录界面,如下图,输入管理员账户和密码后即可登录管理后台。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |