Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] [分享]帖子数达到百万级的pw论坛转换DZ的一个处理工具

[复制链接]
kumotobi 发表于 2012-9-7 09:50:28 | 显示全部楼层 |阅读模式
本帖最后由 kumotobi 于 2012-9-7 10:02 编辑

最近用xconvert把pw转DZ的过程,发现凡是pw里一些引用的回帖,到了DZ这边就出了问题了。
即是引用回帖里含有一个返回back.gif的图标,是带引用目标的地址。现在说下如何处理吧:
pw的代码发现是在/require/postreply.php里有这么一段(当然DZ也有)
  1. $atc_content = "[quote]".($article==0 ? getLangInfo('post','info_post_1') : getLangInfo('post','info_post_2'))."\n{$old_content} [url={$db_bbsurl}/job.php?action=topost&tid=$tid&pid=$pid][img]{$db_bbsurl}/images/back.gif[/img][/url]\n[/quote]\n";
复制代码
这就是引用的时候带上了一个“job.php?action=***的返回图标链接”

但是我们若转为DZ的话,一来这个图标是显示红叉非常影响美观,第二程序结构也变了,原有的链接那么就会造成死链,影响SEO。

所以我搞了这个工具是对pw的回帖含有“引用”的帖子过滤掉这个图标跟链接。

我用这个工具过滤了大概20W条引用记录。

用兴趣的可以用用

用法:下载下面的附件然后上传根目录,然后执行php,一次处理1000条,
执行完了检查下有若有个别因为会员的格式错误不能过滤的,结合Phpmyadmin,搜索pid来修改。
(若不放心的,先在本地做一番测试,我这只针对gbk编码,utf没试,不过应该没问题)



执行完F5刷新执行下一次1000条。。。

从pw_posts表开始做起,

做完了修改pw_posts为pw_posts1,pw_posts2,如果你有分表的话。。。

这个程序简单了些,希望有高手帮忙完善一下。





本帖子中包含更多资源

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

x
 楼主| kumotobi 发表于 2012-9-7 09:54:59 | 显示全部楼层
另外由于pw对有些特殊符号有过滤,比如 " ,>,・符号在数据库里是 &#39的这样类似ascii码的代码。。。

转为DZ后原本的符号就变成类似乱码的东西,希望版主帮忙提供一些解决办法~~~·

原本我还以为是DZ入库的时候为了安全特意转换的,现在研究了pw的数据库记录后,发现是PW干的。

https://discuz.dismall.com/thread-3022687-1-1.html 我错怪DZ了。。。俺抱歉
回复

使用道具 举报

12153556 发表于 2012-9-11 18:16:35 | 显示全部楼层
算是细节的一个补偿操作吧

支持分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 12:03 , Processed in 0.026119 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表