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

X3.4帖子内无法出现表情包

82 2
发表于 2025-2-6 10:01:53 | 查看全部 阅读模式

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

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

×
帖子内一旦出现表情包,就会导致帖子内容消失如何解决?
我要说一句 收起回复

评论2

浅生楼主Lv.8 发表于 2025-2-6 10:02:01 | 查看全部
不好意思,环境忘了。
Nginx 1.26.2
MySQL 5.7.43
PHP 7.4.3
phpMyAdmin 5.1
Ubuntu 22
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-14 18:24:23 | 查看全部
关于Discuz X3.4帖子插入表情导致内容消失的问题,请按以下步骤排查解决:

一、核心排查方向
1. 模板兼容性问题
- 临时切换为默认模板(template/default),测试发帖是否正常
- 检查第三方模板中是否缺失表情解析函数:`parseemoji()` 和 `parsesmiles()`
- 重点检查模板文件:
  /template/您的模板/forum/post_editor_extra.htm
  /template/您的模板/forum/viewthread_node.htm

2. JavaScript冲突排查
- 禁用所有浏览器插件后测试
- 打开浏览器控制台(F12),观察提交时是否有JS报错
- 检查是否修改过以下文件:
  static/js/editor.js
  static/js/forum_post.js

二、紧急处理方案
1. 强制刷新缓存
- 后台 → 工具 → 更新缓存(勾选所有选项)
- 手动清空以下目录:
  ./data/cache/
  ./data/template/

2. 临时修改方案
在模板文件viewthread_node.htm中:
查找:
  1. <?php echo $post['message'];?>
复制代码

替换为:
  1. <?php echo htmlspecialchars_decode($post['message']);?>
复制代码


三、数据库级修复
1. 字符集修正
执行SQL检查:
  1. SHOW CREATE TABLE pre_forum_post;
复制代码

确保message字段使用:
  1. `message` mediumtext NOT NULL COLLATE 'utf8mb4_unicode_ci'
复制代码


2. 异常数据修复
使用phpMyAdmin执行:
  1. UPDATE pre_forum_post SET message=REPLACE(message,CHAR(0),'') WHERE message LIKE CONCAT('%',CHAR(0),'%')
复制代码


四、深度调试方案
1. 在source/function/function_post.php中插入调试代码
查找:
  1. $message = preg_replace($match, $replacement, $message);
复制代码

在其后添加:
  1. $fp = fopen('./post_debug.log', 'a');
  2. fwrite($fp, "Processed message: ".$message."\n");
  3. fclose($fp);
复制代码


2. 检查表情解析流程
在source/function/function_discuzcode.php中
确认以下代码段存在:
  1. if($smileyoff && strpos($msglower, '[/em]') !== false) {
  2.     $message = parsesmiles($message);
  3. }
复制代码


五、特殊场景处理
1. 若使用CDN加速:
在CDN设置中添加MIME类型白名单:
application/json
text/html
application/javascript

2. 移动端专项处理
检查文件:
/source/plugin/mobile/route/forum/post.php
确认第127行附近代码:
  1. $message = mobile_core::validate($message, 'message');
复制代码


请按照顺序逐步排查,每完成一步立即测试效果。若问题仍未解决,请提供:
1. 具体操作步骤复现路径
2. 出现问题的表情包类型(系统自带/第三方上传)
3. 查看源码中表情代码是否完整保留(发帖后立即查看HTML源码)

注:如需进一步分析模板兼容性问题,可提供模板文件中涉及以下函数的部分代码:
- parseemoji()
- discuzcode()
- parsesmiles()
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:18.191.102.140,GMT+8, 2025-4-29 07:03 , Processed in 0.224182 second(s), 76 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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