起因是在论坛看到的一个帖子找智者的博客的一篇文章:如何将将多说评论数据转回EMLOG,但是百度搜索到的都是无法访问的,因为智者的网站服务器出问题了样 有可能是自己折腾死了。。。百度和google在搜索这方面差的太远了。。。下面是对比
都是主机宕机了,可是Google的缓存还是可以用的,可是百度的就玩完了。。。百度取消快照之后,发现变得很鸡肋。。。不知道是不是天朝的原因,怕青少年搜索到了一些不该看的缓存东西,所以让百度取消快照。。。当然都是Mrxn自己瞎掰
还有就是百度今年说对https的支持,但是收录还是一直那鸟样,不收录,没使用https之前,收录很快,现在是每天来,但是不收录,他大爷的就是玩。。。google收录很及时,貌似360搜搜都比百度蜘蛛勤快。度娘,赶紧把蜘蛛鞭打一顿,这么懒!
下面附上将多说数据转回emlog或者是其他博客的教程:
刚刚使用emlog时还在习惯性的使用多说评论,不过发现评论无法同步回本地。所以只能百度下解决办法。(只不过最后我放弃了多说)
使用说明:
1.在多说管理页面导出多说评论
2.解压附件,解压导出的多说评论到同一目录
3.打开start.sql
4.[如果你是在emlog上使用本程序,且数据库前缀为emlog_可忽略这步] 修改第六行,例如评论数据表名称(默认emlog_comment)
5.修改多说文章ID前缀和多说页面ID前缀,如果你是直接写文章ID的话就可以忽略这步了
6.运行start.php,会在本目录下生成output.sql
7.导入到数据库即可
因为之前遇到过此类问题不知如何解决。就当备份。
其实附件里面就是一个 start.php 防止附件失效(博客搬家,有可能损坏),我在这里把代码贴出来,以防万一:
<?php
$dss = json_decode(file_get_contents('export.json'),true);
//前缀,不支持后缀(因为懒)
$threadpf = 'blog-'; //多说文章ID前缀,无前缀留空
$pagepf = 'page-'; //多说页面ID前缀,无前缀留空
$inssql = "INSERT INTO `emlog_comment` (`cid`, `gid`, `pid`, `date`, `poster`, `comment`,`mail`, `url`, `ip`, `hide`) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', 'n');\n"; //SQL语句模板
date_default_timezone_set('Asia/Shanghai');
$threadlen = strlen($threadpf);
$pagelen = strlen($pagepf);
$thr = array();
$cids = array();
$result = '';
$tempcid = 0;
foreach ($dss['threads'] as $val1) {
if (strpos($val1['thread_key'], $threadpf) === 0 || strpos($val1['thread_key'], $pagepf) === 0) {
$thr[$val1['thread_id']] = substr($val1['thread_key'] , $threadlen);
}
}
//多说你妹的居然不按父子顺序导出评论
foreach ($dss['posts'] as $val3) {
$tempcid++;
$cids[$val3['post_id']] = $tempcid;
}
foreach ($dss['posts'] as $val2) {
$gid = isset($thr[$val2['thread_id']]) ? $thr[$val2['thread_id']] : '';
if (!empty($gid)) {
if (empty($val2['parent_id'])) {
$pid = '0';
} else {
$pid = isset($cids[$val2['parent_id']]) ? $cids[$val2['parent_id']] : 'FUCKDS';
}
$cid = $cids[$val2['post_id']];
$date = strtotime($val2['created_at']);
$poster = sqladds($val2['author_name']);
$comment = sqladds($val2['message']);
$mail = $val2['author_email'];
$url = sqladds($val2['author_url']);
$ip = $val2['ip'];
$result .= sprintf($inssql, $cid , $gid , $pid , $date , $poster , $comment , $mail , $url , $ip);
}
}
file_put_contents('output.sql', $result);
echo 'Complete! Author: <a href="http://zhizhe8.net/" target="_blank">Kenvix</a> @ <a href="http://www.stus8.com/" target="_blank">StusGame GROUP</a>';
/**
* 使用反斜线引用字符串或数组以便于SQL查询
* 只引用'和\
* @param $s 需要转义的
* @return 转义结果
*/
function sqladds($s) {
if (is_array($s)) {
$r = array();
foreach ($s as $key => $value) {
$k = str_replace('\'','\\\'', str_replace('\\','\\\\',$value));
if (!is_array($value)) {
$r[$k] = str_replace('\'','\\\'', str_replace('\\','\\\\',$value));
} else {
$r[$k] = sqladds($value);
}
}
return $r;
} else {
return str_replace('\'','\\\'', str_replace('\\','\\\\',$s));
}
}
参考:
http://zhizhe8.net/?post=85705
http://www.glr-s.com/em/22.html
http://bbs.emlog.net/thread-40003-1-1.html









