DZ论坛批量去除隐藏

文:铁乐猫

有需求对一个主题贴或多个主题贴在某段时间过后,例如铁血剧场论坛的演戏(语C )结束后要对之前设置了回复可见的众多主题贴解开隐藏贴。

传统的做法是由主题贴作者或版主或发贴的人编辑贴子去除掉"[hide]“和”[/hide]"这两个代码。

耗时还耗力,以致大多数宁愿置之不理或任由别人进来水贴以求一观隐藏贴显得主题就不美观了。

所以最省力的做法是在数据库中直接sql替换和去除掉hide。

pre_forum_post

查看dz的数据字典可知,pre_forum_post 属于贴子表(包括了所有主题贴和回贴)

pre_forum_post 帖子表

字段名 数据类型 默认值 允许非空 自动递增 备注
pid int(10) unsigned NO 帖子id
fid mediumint(8) unsigned 0 NO 论坛id
tid mediumint(8) unsigned 0 NO 主题id
first tinyint(1) 0 NO 是否是首贴
author varchar(15) NO 作者姓名
authorid mediumint(8) unsigned 0 NO 作者id
subject varchar(80) NO 标题
dateline int(10) unsigned 0 NO 发表时间
message mediumtext NO 消息
useip varchar(15) NO 发帖者IP
invisible tinyint(1) 0 NO 是否通过审核
anonymous tinyint(1) 0 NO 是否匿名
usesig tinyint(1) 0 NO 是否启用签名
htmlon tinyint(1) 0 NO 是否允许HTML
bbcodeoff tinyint(1) 0 NO 是否关闭BBCODE
smileyoff tinyint(1) 0 NO 是否关闭表情
parseurloff tinyint(1) 0 NO 是否允许粘贴URL
attachment tinyint(1) 0 NO 附件
rate smallint(6) 0 NO 评分分数
ratetimes tinyint(3) unsigned 0 NO 评分次数
status int(10) 0 NO 帖子状态
tags varchar(255) 0 NO 新增字段,用于存放tag
comment tinyint(1) 0 NO 是否存在点评
replycredit int(10) 0 NO 回帖获得积分记录
position int(8) unsigned NO 帖子位置信息

其中我们此次需要关注的是tid字段和message字段即可。

tid

tid表示主题贴,同一个主题贴下的回贴它们的tid都是同一个数字,所以这样就可以很好的对它们做操作了。

而tid的查看在dz上也很简单,点击打开一个主题贴,它的url中就有包含了tid,例:

http://bbs.qingqiuyique.com/forum.php?mod=viewthread&tid=7219&extra=

当然,如果你要对一个范围内的主题贴进行操作,那就是之后在sql语句中where id的时候圈出范围就是了。

message

重要的字段,里面的内容就是贴子的内容。可以看到message中有包含[hide][/hide].

SQL语句

因为是对表字段内容中的部分字符串做替换,所以是update的操作,实例如下:

update pre_forum_post set message=replace(message, '[/hide]',' ') where tid = 7222;
update pre_forum_post set message=replace(message, '[hide]',' ') where tid = 7222;

逻辑上来说就是:

update 表名 set 字段名 = replace( 字段名 ,'要被替换的字符串','替换后的字符串')where 生效的范围或条件;

大范围去隐藏

毕竟有些戏太多密谈贴了,选定从哪到哪之间:

update pre_forum_post set message=replace(message, '[/hide]',' ') where tid between 7296 and 7354;
update pre_forum_post set message=replace(message, '[hide]',' ') where tid between 7296 and 7354;

重要的是where 主题贴 between 从哪里 and 到哪里 之间。

例:

mysql> update pre_forum_post set message=replace(message, '[/hide]',' ') where tid between 7479 and 7504;
Query OK, 158 rows affected (0.02 sec)
Rows matched: 1811  Changed: 158  Warnings: 0mysql> update pre_forum_post set message=replace(message, '[hide]',' ') where tid between 7479 and 7504;
Query OK, 156 rows affected (0.01 sec)
Rows matched: 1811  Changed: 156  Warnings: 0

区分版块

fid为版本号

update pre_forum_post set message=replace(message, '[/hide]',' ') where tid between 8390 and 8430 and fid = 99;

可以先select验证一下

select message from pre_forum_post where tid between 8390 and 8430 and fid = 99;

验证带hide的

select message from pre_forum_post where tid between 8390 and 8430 and fid = 99 and message LIKE '%hide%';

最终执行

update pre_forum_post set message=replace(message, '[hide]','') where tid between 8390 and 8430 and fid = 99;
update pre_forum_post set message=replace(message, '[/hide]','') where tid between 8390 and 8430 and fid = 99;

效果是fid=99的版本为菜市口的解锁隐藏了,而不影响到fid=98的玉书房。

DZ论坛批量去除隐藏相关推荐

  1. DZ各个数据表详解(DZ论坛各表详细说明,二次开发用)

    DZ各个数据表详解(DZ论坛各表详细说明,二次开发用) DZ默认库的53个数据表 cdb_access (用户权限表) uid 用户id fid 论坛id allowview 允许浏览 allowpo ...

  2. dz论坛服务器技术支持,服务器更换 升级 dz论坛首页 dz其他页面打开为空白解决方法...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.症状:安装后一切正常,昨天发完nnn个帖子后突然论坛首页打开后空白 2.解决办法:删除以下两个文件夹下所有文件 forumdata/cache 和 / ...

  3. 【更新】时隔半月dz论坛自动回复器(zygx8专属)终于完工

    title: [更新]时隔半月dz论坛自动回复器(zygx8专属)终于完工 tags: 小技巧 小工具 categories: 小工具 date: 2020-10-30 23:40:58 前言 工具: ...

  4. DZ论坛的几个使用技巧

    一.集中删除DZ论坛垃圾广告的技巧 去年曾经介绍过"一劳永逸 杜绝DZ论坛垃圾广告".有些冤家说不方便,这次要是没有设置好,根据论坛的实际情况设置好后,很管用的. 用DZ论坛系统的 ...

  5. dede调用dz论坛数据-html方式调用

    ​ 方法一:dede调用dz论坛数据-html方式调用 1.dede标签:{dede:php} if ($fh = fopen("http://bbs.yingyuw.cn/api.php? ...

  6. 通过shell/bash脚本使用ffmpeg批量去除视频固定片头和片尾(Cygwin环境)

    通过shell/bash脚本使用ffmpeg批量去除视频固定片头和片尾(Cygwin环境) 任务需求: 基本情况: 技能需求: 操作流程概括: 运行通过的shell脚本: 小结 任务需求: 对一批视频 ...

  7. EXCEL表格-批量去除百分号%的三种方案

    ❤关注我,不迷路❤ 点击进入EXCEL综合应用场景专栏 在日常生活中,会经常遇到EXCEL表格中有百分号的场景,面对批量去除百分号%的需求本文分享三种方式进行去除,分别利用格式设置法.函数法.替换法进 ...

  8. dz forum.php空白,服务器更换 升级 dz论坛首页 dz其他页面打开为空白解决方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.症状:安装后一切正常,昨天发完nnn个帖子后突然论坛首页打开后空白 2.解决办法:删除以下两个文件夹下所有文件 forumdata/cache 和 / ...

  9. dz论坛php.ini设置,Discuz!X1.5至3.2论坛Win主机与Linux主机伪静态设置方法

    用discuz x1.5至3.2的程序搭建的一个论坛,DZ论坛win主机与linux主机伪静态规则的设置方法! Windows主机设置方法: 1.建立一个名为 httpd.ini 的文件,可以先在电脑 ...

最新文章

  1. oracle 自定义函数
  2. c语言写程序计算表达式的值,C语言 写的 表达式求值。
  3. LiveVideoStack公众号内容改版通知
  4. 华为手机Android系统优缺点,第一次安卓机优缺点总结(对比iOS系统)
  5. 设计模式(六)J2EE 模式
  6. 机器学习(九)初识BP神经网络
  7. 使用php+gmail 发送邮件
  8. 中望cad自定义快捷键命令_中望CAD快捷键汇总
  9. 非极大值抑制(NMS)讲解
  10. 专票冲红出现服务器为空,增值税专用发票作废、冲红、丢失了?别慌,可这样处理...
  11. linux上打开tif格式图片,tif图片格式介绍及其打开方式
  12. BabyMaker(预测宝宝未来长相软件) v1.5绿色中文破解版
  13. 前端实现在线预览文档(pdf、doc文件)
  14. PHP微信扫码关注公众号并授权登录源码
  15. 两万字的Redis笔记!
  16. 【python】pdf转png
  17. linkedlist链表结构原理
  18. 基于JAVA某日杂商店进销存管理系统设计计算机毕业设计源码+数据库+lw文档+系统+部署
  19. 2020.11.17【读书笔记】丨ONT 测序平台送样指导——DNA 取样要求
  20. 救命钱变服务费,做大病众筹的水滴筹到底靠什么赚钱?

热门文章

  1. 谈用伪静态(url重写)的方法替代生成静态页面的好处
  2. python 多继承算法
  3. 大数据量转存(抽取、同步)
  4. 毕业设计(三)-- 基于YOLOV3算法的指针式仪表表盘检测
  5. pycharm控制台打印彩色字体、python打印彩色字体
  6. 怎么设置linux系统字体颜色,如何修改linux系统字体颜色
  7. python-数据思维
  8. 80老翁谈人生(238):什么叫“不作为”?
  9. 关于作品著作权登记“实名认证”的常见问题,登记申请表填错之后如何修改?
  10. 影院管理系统的后台(一): 注册