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

分享一个将帖子中的br换成P

54 3
发表于 4 小时前 | 查看全部 阅读模式

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

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

×
用AI弄的,不懂代码,弄了好几天
  1. <?phpif (!defined('IN_DISCUZ')) {    exit('Access Denied');}class plugin_identifier {    function discuzcode($value) {        global $_G;        if ($value['caller'] == 'discuzcode' && isset($_G['discuzcodemessage'])) {            // 获取要处理的内容            $thread_message = $_G['discuzcodemessage'];            // 第一步:移除所有的 <br> 标签            $thread_message = preg_replace('/<br\s*\/?>/', '', $thread_message); // 先把 <br> 标签移除            // 第二步:将所有换行符替换为统一的段落分隔符 <p></p>            $thread_message = preg_replace('/\n+/', '</p><p>', $thread_message);             // 第三步:确保每个段落都包裹在 <p></p> 标签中            $thread_message = '<p>' . $thread_message . '</p>';            // 第四步:移除每个 <p> 标签中如果仅有 <br> 标签的情况            $thread_message = preg_replace('/<p>\s*<br\s*\/?>\s*<\/p>/', '', $thread_message); // 如果 <p> 标签中只有 <br> 标签,去除空段落            // 第五步:移除段落内多余的空白或 <br> 标签            $thread_message = preg_replace('/<p>\s*(<br\s*\/?>\s*)*<\/p>/', '<p></p>', $thread_message); // 如果段落内有多余的 <br> 标签,替换为空段落            // 最后:处理去掉所有的多余换行符            $thread_message = preg_replace('/\s+/', '', $thread_message); // 移除多余空格或换行符            //如果要强行将所有空行删除,取消注释下面这行            //$thread_message = preg_replace('/<p>\s*<\/p>/', '', $thread_message); //除多余的空 <p></p> 标签            // 最终存储处理后的内容            $_G['discuzcodemessage'] = $thread_message;        }    }}?>
复制代码
将里面的
  1. if ($value['caller'] == 'discuzcode' && isset($_G['discuzcodemessage'])) {
复制代码
这段放到你的脚本里面,插件根目录xxx.class.php这个,每次换行都会加一个p标签,需要自行给P标签添加样式,比如.t_fsz p {margin: 16px 0; line-height: 26px;}这个需要自行修改测试plugin_identifier是插件标识哈。
分享一个将帖子中的br换成P

如果要强制将帖子里所有的空行移除的话。
  1. //如果要强行将所有空行删除,取消注释下面这行            //$thread_message = preg_replace('/<p>\s*<\/p>/', '', $thread_message); //除多余的空 <p></p> 标签
复制代码
将这段取消注释
分享一个将帖子中的br换成P

都5025年了,这种低级问题该改喽。
我要说一句 收起回复
创宇盾启航版免费网站防御网站加速服务

评论3

拾光Lv.8 发表于 4 小时前 | 查看全部
楼上说错了

应该是将
  1. function discuzcode($value) {
复制代码
这段放在脚本文件里
我要说一句 收起回复
婷姐Lv.8 发表于 4 小时前 | 查看全部
  1. <?phpif (!defined('IN_DISCUZ')) {    exit('Access Denied');}class mobileplugin_identifier{    // 换帖子中的BR替换成P标签    function discuzcode($value) {      global $_G;      if ($value['caller'] == 'discuzcode' && isset($_G['discuzcodemessage'])) {          // 获取要处理的内容          $thread_message = $_G['discuzcodemessage'];          // 第一步:移除所有的 <br> 标签          $thread_message = preg_replace('/<br\s*\/?>/', '', $thread_message); // 先把 <br> 标签移除          // 第二步:将所有换行符替换为统一的段落分隔符 <p></p>          $thread_message = preg_replace('/\n+/', '</p><p>', $thread_message);           // 第三步:确保每个段落都包裹在 <p></p> 标签中          $thread_message = '<p>' . $thread_message . '</p>';          // 第四步:移除每个 <p> 标签中如果仅有 <br> 标签的情况          $thread_message = preg_replace('/<p>\s*<br\s*\/?>\s*<\/p>/', '', $thread_message); // 如果 <p> 标签中只有 <br> 标签,去除空段落          // 第五步:移除段落内多余的空白或 <br> 标签          $thread_message = preg_replace('/<p>\s*(<br\s*\/?>\s*)*<\/p>/', '<p></p>', $thread_message); // 如果段落内有多余的 <br> 标签,替换为空段落          // 最后:处理去掉所有的多余换行符          $thread_message = preg_replace('/\s+/', '', $thread_message); // 移除多余空格或换行符          //如果要强行将所有空行删除,取消注释下面这行          //$thread_message = preg_replace('/<p>\s*<\/p>/', '', $thread_message); //除多余的空 <p></p> 标签          // 最终存储处理后的内容          $_G['discuzcodemessage'] = $thread_message;      }  }}?>
复制代码
这个是手机版插件里面的


分享一个将帖子中的br换成P
我要说一句 收起回复
浅生Lv.8 发表于 4 小时前 | 查看全部
我的帖子都不会要求大家强行回复的哦
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:18.191.155.227,GMT+8, 2025-2-7 23:20 , Processed in 0.325228 second(s), 91 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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