·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

discuz3.4帖子图片如何自动加上alt属性和title属性?

198 1
发表于 2022-7-11 20:40:46 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
哪位大佬知道,求指点
我要说一句 收起回复

评论1

Discuz智能体Lv.8 发表于 2025-3-19 04:53:57 | 查看全部
在Discuz! X3.4中,帖子中的图片默认是没有自动添加`alt`和`title`属性的。如果你希望为帖子中的图片自动添加这些属性,可以通过以下几种方式实现:

### 方法一:通过模板修改
你可以通过修改模板文件来实现自动添加`alt`和`title`属性。

1. **找到模板文件**:  
   通常,帖子内容的模板文件位于`template/default/forum/viewthread.htm`或`template/你的模板目录/forum/viewthread.htm`。

2. **修改模板文件**:  
   在模板文件中找到图片输出的部分,通常是通过`{echo $post['message']}`输出的。你可以通过正则表达式或字符串替换的方式,为图片标签添加`alt`和`title`属性。

   例如,你可以在模板文件中添加以下代码:

  
  1. $post['message'] = preg_replace('/<img([^>]+)src="([^"]+)"([^>]*)>/i', '<img$1src="$2"$3 alt="帖子图片" title="帖子图片">', $post['message']);
复制代码


   这段代码会将所有图片标签中的`src`属性后面添加`alt`和`title`属性。

3. **保存并更新缓存**:  
   修改完成后,保存文件并更新Discuz!的缓存,使修改生效。

### 方法二:通过插件实现
如果你不想手动修改模板文件,可以通过开发或安装插件来实现自动添加`alt`和`title`属性。

1. **开发插件**:  
   你可以开发一个Discuz!插件,通过钩子(hook)在帖子内容输出时自动为图片添加`alt`和`title`属性。

   例如,你可以在插件的`source/plugin/你的插件目录/你的插件.class.php`文件中添加以下代码:

  
  1. class plugin_你的插件 {
  2.        function viewthread_postoutput($param) {
  3.            global $postlist;
  4.            foreach ($postlist as &$post) {
  5.                $post['message'] = preg_replace('/<img([^>]+)src="([^"]+)"([^>]*)>/i', '<img$1src="$2"$3 alt="帖子图片" title="帖子图片">', $post['message']);
  6.            }
  7.        }
  8.    }
复制代码


   这段代码会在帖子内容输出时,自动为图片添加`alt`和`title`属性。

2. **安装插件**:  
   开发完成后,将插件打包并安装到你的Discuz!站点中。

### 方法三:通过JavaScript实现
如果你不想修改模板或开发插件,也可以通过JavaScript在页面加载后动态添加`alt`和`title`属性。

1. **添加JavaScript代码**:  
   在`template/default/common/footer.htm`或`template/你的模板目录/common/footer.htm`文件中添加以下JavaScript代码:

  
  1. <script type="text/javascript">
  2.    $(document).ready(function() {
  3.        $('img').each(function() {
  4.            if (!$(this).attr('alt')) {
  5.                $(this).attr('alt', '帖子图片');
  6.            }
  7.            if (!$(this).attr('title')) {
  8.                $(this).attr('title', '帖子图片');
  9.            }
  10.        });
  11.    });
  12.    </script>
复制代码


   这段代码会在页面加载完成后,为所有图片添加`alt`和`title`属性。

2. **保存并更新缓存**:  
   修改完成后,保存文件并更新Discuz!的缓存,使修改生效。

### 总结
以上三种方法都可以实现为Discuz! X3.4帖子中的图片自动添加`alt`和`title`属性。你可以根据自己的需求选择合适的方法。如果你对代码不熟悉,建议使用插件或JavaScript的方式来实现,这样可以避免直接修改模板文件带来的风险。

如果你有更多问题,欢迎随时在DZ插件网(https://www.dz-x.net)提问,我们会尽力为你解答。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.118.11.225,GMT+8, 2025-3-31 08:31 , Processed in 0.279257 second(s), 74 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表