如何去除DedeCMS文章页中的img标签的width和height属性?

avatar
作者
筋斗云
阅读量:0
要去除DedeCMS文章页中img标签的width和height属性,可以使用正则表达式替换方法。在DedeCMS后台,找到文章页模板文件,通常位于/templets/default/article_article.htm。,,打开该文件,找到以下代码:,,``html,{dede:field name='body'/},`,,将其替换为以下代码:,,`html,{dede:field name='body' function='ClearImgSize(@me)'/},`,,在/include/arc.archives.class.php文件中添加以下函数:,,`php,function ClearImgSize($body) {, $pattern = '/]+width="\d+"\s+height="\d+"\s*>/i';, $replacement = '';, $body = preg_replace_callback($pattern, function($matches) use ($replacement) {, return preg_replace('/width="\d+"\s+height="\d+"\s*/i', '', $matches[0]);, }, $body);, return $body;,},``,,保存文件后,刷新页面,img标签的width和height属性将被移除。

在DedeCMS(织梦内容管理系统)中,文章发布后图片会自动带上width和height属性,虽然这些属性可以帮助浏览器在页面加载时预留空间,但有了CSS后,直接出现在HTML中的图片宽高属性就显得多余。

去除方法

1、打开文件:找到并打开include/arc.archives.class.php文件。

2、查找代码:搜索以下代码段,该代码用于设置全局环境变量:

如何去除DedeCMS文章页中的img标签的width和height属性?

 $this>Fields['typename'] = $this>TypeLink>TypeInfos['typename']; @SetSysEnv($this>Fields['typeid'],$this>Fields['typename'],$this>Fields['id'],$this>Fields['title'],'archives');

3、添加替换代码:在该代码下方添加以下代码,用于替换文章中图片的width和height属性:

 $this>Fields['body'] = preg_replace("/style=\"width\:(.*)\"/","",$this>Fields['body']);

4、保存文件:保存并关闭文件。

5、重新生成文章:重新生成静态网站,查看源代码确认自带的图片width和height属性已被去掉。

常见问题解答

1、如何在DedeCMS中使用CSS控制图片大小?

答:在DedeCMS中,可以通过修改模板文件或自定义CSS样式表来控制图片的大小,可以在style.css文件中添加类似以下的CSS规则:

 img {     maxwidth: 100%;     height: auto; }

这将使所有图片的最大宽度为父容器的100%,高度自动调整以保持纵横比。

2、为什么有时图片的width和height属性没有去掉?

答:如果发现某些图片的width和height属性没有去掉,可能是因为正则表达式匹配不准确或者代码执行顺序有问题,建议检查正则表达式是否正确,以及代码是否在适当的位置执行,确保在重新生成文章后查看效果,因为有时缓存可能会影响结果。

通过上述步骤,可以成功去除DedeCMS文章页中图片的width和height属性,使页面更加符合现代网页设计的标准,这不仅有助于提高页面的加载速度,还能使页面在不同设备上的显示更加灵活和自适应。


 <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF8">     <meta name="viewport" content="width=devicewidth, initialscale=1.0">     <title>去除DedeCMS文章页img图片的width和height属性</title> </head> <body>     <!假设这是从DedeCMS文章页获取的HTML内容 >     <div class="articlecontent">         <p>这里是文章的一些文本内容。</p>         <img src="image.jpg" width="300" height="200" alt="示例图片">         <p>这里是文章的一些文本内容。</p>     </div>     <!使用JavaScript去除img标签的width和height属性 >     <script>         // 选择所有img标签         var images = document.querySelectorAll('.articlecontent img');         // 遍历img标签并移除width和height属性         images.forEach(function(img) {             img.removeAttribute('width');             img.removeAttribute('height');         });     </script> </body> </html>

代码展示了如何使用JavaScript来去除DedeCMS文章页中img图片的width和height属性,代码中首先选择所有的img标签,然后遍历这些标签并移除它们的width和height属性,这样,图片将根据其自然尺寸显示,而不是使用固定的宽度和高度。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!