{dede:field name='body' /}
标签获取文档内容,然后使用正则表达式匹配所有的图片标签。,2. 使用PHP代码遍历文章表中的所有记录,获取每篇文章的内容,再使用正则表达式匹配图片标签。,,以下是一个简单的示例代码:,,“php,,
“,,这段代码将输出文档中的所有图片标签。你可以根据需要进一步处理这些标签,例如提取图片地址、显示图片等。在织梦CMS(DedeCMS)中调用文档中的所有图片,可以通过修改系统函数来实现,以下是具体步骤和示例代码:
方法一:通过修改extend.func.php
文件
1、找到并编辑extend.func.php
文件:
打开织梦CMS根目录。
进入include
文件夹,找到并打开extend.func.php
文件。
2、添加自定义函数:
在extend.func.php
文件的最下方添加以下代码:
“`php
function Getimgs($aid, $num = 0, $style = ”){
global $dsql;
$row = $dsql > getone("Select body From#@__addonarticle
where aid=’$aid’");
$imgurls = $row[‘body’];
preg_match_all("/<img[|Img].*?src="(.*?)"[^>]*?>/i", $imgurls, $wordcount);
$count = count($wordcount[1]);
if ($num > $count || $num == 0) {
$num = $count;
}
for($i=0;$i<$num;$i++){
if($style == ‘li’){
$imglist .= ‘<li><a href="#’.$i.’"><img src="’. trim($wordcount[1][$i]) . ‘" /></a></li>’;
}else{
$imglist .= ‘<img src="’. trim($wordcount[1][$i]) . ‘" />’;
}
}
return $imglist;
}
“`
3、在模板文件中调用:
在需要调用图片的地方添加如下代码:
“`html
<!调用文章内所有图片,样式为列表 >
<ul>{dede:field.id function="Getimgs(@me,5,’li’)"/}</ul>
<!或者调用文章内所有图片,不使用列表 >
{dede:field.id function="Getimgs(@me,5)"/}
“`
方法二:通过修改common.func.php
文件
1、找到并编辑common.func.php
文件:
同样在include
文件夹中找到并打开common.func.php
文件。
2、添加自定义函数:
在common.func.php
文件的最后面添加以下代码:
“`php
function Getimgs($aid, $num = 0, $style = ”){
global $dsql;
$row = $dsql > getone("Select body From#@__addonarticle
where aid=’$aid’");
$imgurls = $row[‘body’];
preg_match_all("/<img[|Img].*?src="(.*?)"[^>]*?>/i", $imgurls, $wordcount);
$count = count($wordcount[1]);
if ($num > $count || $num == 0) {
$num = $count;
}
for($i=0;$i<$num;$i++){
if($style == ‘li’){
$imglist .= ‘<li><a href="#’.$i.’"><img src="’. trim($wordcount[1][$i]) . ‘" /></a></l>’;
}else{
$imglist .= ‘<img src="’. trim($wordcount[1][$i]) . ‘" />’;
}
}
return $imglist;
}
“`
3、在模板文件中调用:
在需要调用图片的地方添加如下代码:
“`html
<!调用文章内所有图片,样式为列表 >
<ul>{dede:field.id function="Getimgs(@me,5,’li’)"/}</ul>
<!或者调用文章内所有图片,不使用列表 >
{dede:field.id function="Getimgs(@me,5)"/}
“`
常见问题解答 (FAQs)
1、Q: 如果调用的图片数量超过了设定的数量怎么办?
A: 如果调用的图片数量超过了设定的$num
参数值,函数会自动调整为实际图片的数量,无需担心图片数量超出设定值的问题。
2、Q: 如何在首页或列表页调用所有图片?
A: 可以在首页或列表页的模板文件中使用相同的函数调用方法,只需将@me
替换为相应的变量即可,在首页模板中使用{dede:arclist ... function="Getimgs(@me,5)" ...}
,在列表页模板中使用{dede:list ... function="Getimgs(@me,5)" ...}
。
通过上述两种方法,可以方便地在织梦CMS中调用文档中的所有图片,并且可以根据需要调整显示样式和图片数量。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1107797.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复