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

帖子图片在后台已经批量修改为webp了,

329 2
发表于 2023-7-31 18:12:00 | 查看全部 阅读模式 | Google Chrome | Windows 10

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

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

×
请问如何让帖子内容的图片批量改成webp,所有webp的图片和以前的图片名一样,只是后缀和大小不一样。
我要说一句 收起回复

评论2

AI智能体Lv.7 发表于 2023-7-31 18:12:33 | 查看全部
要批量将帖子内容中的图片转换为webp格式,并保持图片名不变,可以通过以下步骤实现:

1. 在Discuz后台管理中,找到“工具”菜单下的“批量更新帖子”选项。

2. 在“批量更新帖子”页面中,选择需要更新的版块或者帖子范围。

3. 在“更新项目”部分,选择“帖子内容”。

4. 在“更新条件”部分,可以选择根据发帖时间、作者等条件进行筛选。

5. 在“更新内容”部分,选择“正则表达式”,并在表达式文本框中输入匹配图片标签的正则表达式,例如:`<img.*?src="(.*?)".*?>`。

6. 在“内容替换”部分,将正则表达式中匹配到的图片URL进行替换。可以使用PHP的正则替换函数preg_replace_callback()来实现。示例代码如下:
  1. function replace_image_with_webp($matches) {
  2.     $original_url = $matches[1]; // 原始图片URL
  3.     $webp_url = $original_url . '.webp'; // webp图片URL
  4.     return str_replace($original_url, $webp_url, $matches[0]);
  5. }
  6. // 使用正则表达式替换图片标签
  7. $updated_content = preg_replace_callback('/<img.*?src="(.*?)".*?>/', 'replace_image_with_webp', $original_content);
复制代码

7. 点击“提交”按钮开始批量更新帖子的内容。在更新过程中,请确保你的服务器支持webp图片格式。

通过以上步骤,你可以将帖子内容中的图片批量转换为webp格式,并保持图片名不变。请注意,这只会修改帖子内容中的图片标签,而不会对图片文件进行实际的转换操作。如果需要将实际的图片文件转换为webp格式,你需要使用其他工具或脚本来完成。
-- 来源:OpenAI ****GPT
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-17 23:44:48 | 查看全部
要将帖子内容中的图片批量修改为WebP格式,并且保持图片名称不变,只是后缀和大小不同,你可以按照以下步骤进行操作:

### 1. **备份数据**
   在进行任何批量操作之前,请务必备份你的数据库和文件,以防止数据丢失。

### 2. **修改帖子内容中的图片链接**
   你需要通过SQL语句来批量更新帖子内容中的图片链接。假设你的帖子内容存储在 `pre_forum_post` 表的 `message` 字段中,你可以使用以下SQL语句来将 `.jpg`、`.png` 等图片链接替换为 `.webp` 链接:

  
  1. UPDATE pre_forum_post
  2.    SET message = REPLACE(message, '.jpg', '.webp');
  3.    UPDATE pre_forum_post
  4.    SET message = REPLACE(message, '.png', '.webp');
  5.    UPDATE pre_forum_post
  6.    SET message = REPLACE(message, '.jpeg', '.webp');
  7.    UPDATE pre_forum_post
  8.    SET message = REPLACE(message, '.gif', '.webp');
复制代码


   这条SQL语句会将帖子内容中所有的 `.jpg`、`.png`、`.jpeg` 和 `.gif` 图片链接替换为 `.webp`。

### 3. **处理附件表**
   如果你的图片是通过附件上传的,你可能还需要更新 `pre_forum_attachment` 表中的 `filename` 字段。你可以使用类似的SQL语句来更新这些字段:

  
  1. UPDATE pre_forum_attachment
  2.    SET filename = REPLACE(filename, '.jpg', '.webp');
  3.    UPDATE pre_forum_attachment
  4.    SET filename = REPLACE(filename, '.png', '.webp');
  5.    UPDATE pre_forum_attachment
  6.    SET filename = REPLACE(filename, '.jpeg', '.webp');
  7.    UPDATE pre_forum_attachment
  8.    SET filename = REPLACE(filename, '.gif', '.webp');
复制代码


### 4. **处理图片文件**
   确保你已经将所有图片文件转换为WebP格式,并且文件名保持不变,只是后缀改为 `.webp`。你可以使用一些批量图片转换工具来完成这个任务,比如 `cwebp` 或者在线转换工具。

### 5. **更新缓存**
   在完成上述操作后,建议你更新Discuz的缓存,以确保更改生效。你可以在Discuz后台的“工具” -> “更新缓存”中进行操作。

### 6. **测试**
   完成以上步骤后,建议你手动检查一些帖子,确保图片显示正常,并且所有图片链接都已正确更新为WebP格式。

### 7. **CDN或缓存处理**
   如果你使用了CDN或缓存服务,可能需要清除缓存,以确保用户访问的是更新后的内容。

### 8. **后续维护**
   如果你有新的图片上传,建议在图片上传时直接转换为WebP格式,以避免后续再次进行批量转换。

### 注意事项:
- **兼容性**:WebP格式在较旧的浏览器中可能不被支持,建议你在前端代码中添加对WebP格式的兼容性处理,或者提供备用的图片格式。
- **性能**:WebP格式通常比JPEG和PNG格式更小,加载速度更快,但转换过程可能会消耗一定的服务器资源,建议在服务器负载较低时进行操作。

通过以上步骤,你应该能够成功将帖子内容中的图片批量转换为WebP格式,并且保持图片名称不变。如果你在操作过程中遇到任何问题,欢迎随时提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:3.136.18.169,GMT+8, 2025-4-3 15:24 , Processed in 0.399793 second(s), 83 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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