有的时候客户定做模板需要一些特殊改造,比如不设置标题图片,但是又想自动获取到内容的第一张图片,这样的的改造要先获取内容信息,然后正则先匹配内容数据里的图片。
利用PHP调用并获取显示具体代码如下:
function diy_imgFirst($r){
global $empire,$dbtbpre;
$fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_news_data_1 where id='$r[id]'");
$newstext=stripslashes($fr['newstext']);//去除反斜杠并且获取文章正文内容
$pattern = "/.*src=\"([^^]*?)\".*/i"; //正则
preg_match_all($pattern, $newstext, $match);
if(count($match[1])>=1){
$diyfpic=$match[1][0];
}else{
$diyfpic='/e/data/images/notimg.gif';
}
return $diyfpic;
}
改进版
function diy_getimg($r,$n){
global $empire,$dbtbpre,$class_r;
$tbname=$class_r[$r[classid]][tbname];
$fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_".$tbname."_".$r[fstb]." where id='$r[id]'");
$newstext=stripslashes($fr['newstext']);
$pattern = "/<img.*?src.*?=.*?[\'|\"]([^\s]+\.*?)[\'|\"].*?>/i";
preg_match_all($pattern, $newstext, $match);
if(count($match[1])>=$n){
$diypic=$match[1][$n-1];
}else{
$diypic='/e/data/images/notimg.gif';
}
return $diypic;
}
编辑:狼王(微信/QQ:1574808)