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

欢迎信息自定义html后邮件正常,但是系统提醒会有22个br标签 New

162 1
发表于 2024-1-30 11:20:24 | 查看全部 阅读模式

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

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

×
欢迎信息自定义html后,收到的邮件正常,但是系统提醒会有22个br标签,导致版面错误。

邮件效果正常:
欢迎信息自定义html后邮件正常,但是系统提醒会有22个br标签
New
 空行,html,Email,adminemail,time


但是系统消息会有空行:

欢迎信息自定义html后邮件正常,但是系统提醒会有22个br标签
New
 空行,html,Email,adminemail,time

html如下,有需要的自己修改:
  1. <table width="680" border="0" style="margin: 0 auto;">  <tbody><tr>    <td> 欢迎信息自定义html后邮件正常,但是系统提醒会有22个br标签
New
 空行,html,Email,adminemail,time </td>  </tr>  <tr>    <td height="80">尊敬的{username}:</td>  </tr>  <tr>    <td height="87"><p> 您已经注册成为{sitename}的会员,我们非常欢迎您的到来,也请您在发表言论时,遵守当地法律法规。</p>      <p><br>      如果您有什么疑问可以联系管理员,Email: {adminemail}。</p></td>  </tr>  <tr>    <td height="47">【提示】只有上传了头像和验证了安全手机才能进行发帖、回复操作哦!</td>  </tr>  <tr>    <td height="51"></td>  </tr>  <tr>    <td height="51" style="    text-align: center;">          <a href="https://www.sun0391.com/home.php?mod=spacecp&ac=avatar" target="_blank" style="color: #fff;text-decoration: none;padding: 10px 40px 10px 40px;background-color: #FF9800;border-radius: 10px;margin-right: 60px;">去上传头像</a><a href="https://www.sun0391.com/home.php?mod=spacecp&ac=profile&op=password" target="_blank" style="color: #fff;text-decoration: none;padding: 10px 40px 10px 40px;background-color: #FF9800;border-radius: 10px;">去验证手机</a></td>    </tr>  <tr>    <td height="94" style="    text-align: right;"><br>      {bbname}<br>    {time}</td>  </tr></tbody></table>
复制代码


我知道答案 回答被采纳将会获得1 贡献 已有0人回答
我要说一句 收起回复

评论1

AI智能体Lv.7 发表于 2025-3-14 04:33:37 | 查看全部
根据Discuz核心处理机制分析,出现22个br标签的情况是由于系统提醒模块的自动格式化机制导致的。以下是具体解决方案:

1. **问题根源分析**:
- 系统提醒模块使用`nl2br()`函数处理内容时会自动将换行符转换为`<br>`标签
- HTML中的多个空白行被解析为连续换行符
- 模板引擎对HTML代码中的换行符敏感度不同

2. **推荐解决方案**:
  1. // 在插件中使用内容预处理函数
  2. function preprocess_message($message) {
  3.     $message = preg_replace('/[\r\n]+/', "\n", $message); // 合并连续换行
  4.     return trim($message); // 去除首尾空白
  5. }

  6. // 在调用系统提醒接口前处理内容
  7. $message = preprocess_message($custom_html);
复制代码


3. **HTML结构优化建议**:
  1. <div style="line-height:1.6;max-width:600px;margin:0 auto">
  2.     <p>尊敬的{username}:</p>
  3.     <p>您已经注册成为{sitename}的会员,我们非常欢迎您的到来,也请您在发表言论时,遵守当地法律法规。</p>
  4.     <p>如果您有什么疑问可以联系管理员,Email: {adminemail}。</p>
  5.     <div style="margin:15px 0;padding:10px;background:#f5f5f5">
  6.         【提示】只有上传了头像和验证了安全手机才能进行发帖、回复操作哦!<br>
  7.         <a href="home.php?mod=spacecp&ac=avatar" style="color:#06c">去上传头像</a>
  8.         <a href="home.php?mod=spacecp&ac=profile&op=password" style="color:#06c">去验证手机</a>
  9.     </div>
  10.     <div style="text-align:right;color:#999">
  11.         {bbname}<br>
  12.         {time}
  13.     </div>
  14. </div>
复制代码


4. **注意事项**:
- 使用`<p>`标签替代段落换行
- 通过CSS控制行间距而非空行
- 对功能区块使用`<div>`容器包裹
- 链接地址使用Discuz原生URL格式

5. **进阶处理方案(需插件支持)**:
  1. // 在插件中扩展消息处理类
  2. class plugin_myplugin extends discuz_plugin {
  3.     public function global_message() {
  4.         global $message;
  5.         $message = preg_replace('/<br\s*\/?>\s*<br\s*\/?>/', '<br>', $message);
  6.     }
  7. }
复制代码


该方案通过以下方式解决问题:
1. 标准化HTML结构,减少冗余换行
2. 使用CSS控制排版而非依赖空行
3. 合并连续换行符为单个换行
4. 利用Discuz原生样式类保持界面统一

建议同时检查模板文件是否包含重复的`<br>`标签插入逻辑,必要时可通过插件机制覆盖默认的模板解析方式。如需进一步优化移动端显示效果,可增加响应式CSS媒体查询。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:3.147.59.186,GMT+8, 2025-4-5 11:25 , Processed in 0.301519 second(s), 81 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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