phpbb 2 wordpress

没想过会把phpbb的内容转到wordpress里头来,一个是论坛,一个是blog,好像不怎么搭边.

不过前几天还真有这个需求,要把phpbb论坛里的某用户发过的所有帖子全部导入wordpress.也没什么特复杂的,下面是我的导入步骤:

从phpbb导出成csv格式

因为数据量不是太大,所以我直接用phpmyadmin操作,帖子集中在phpbb_posts,phpbb_posts_text两个表,前者记录了帖子的大致信息,后者主要记录了帖子的文本,一条sql查询:

SELECT post_subject, post_text
FROM `bb_posts` a
LEFT JOIN bb_posts_text b
USING ( post_id )
WHERE poster_id =10

然后使用phpmyadmin的导出功能把标题post_subject和内容post_text导出成为microsoft的csv格式备用.

转换成rss格式

wordpress有个功能,可以导入rss格式的数据,现在这情况用着也合适,因此写个脚本把上面的csv转换成rss,这个任务就算完成了一大半.

<?php
$str = file_get_contents('phpbb_posts.csv');
$arr = explode("\r\n", $str);

$li = array();
foreach($arr as $v) {
	if(empty($v))
		continue;

	list($title, $content) = explode('","', $v);
	$title = iconv("GBK", "UTF-8//IGNORE", $title);
	$content = iconv("GBK", "UTF-8//IGNORE", $content);
	$li[] = array($title, $content);
}

?>

<?php echo '<?xml version="1.0" encoding="UTF-8"?>';?>
<!-- generator="wordpress/2.0.4" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<pubDate>Sat, 16 Sep 2006 14:51:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.4</generator>
	<language>en</language>
<?php foreach($li  as $v): ?>
			<item>
			<title><?php echo $v[0]?></title>
		<pubDate>Fri, 15 Sep 2006 11:58:41 +0000</pubDate>
		<dc:creator>volcano</dc:creator>
		<description>
<?php echo $v[1]?>
</description>
		</item>
<?php endforeach?>
	</channel>
</rss>

时间不是很长,很快就转换成rss格式了

导入wordpress

这一步最easy,用wordpress的导入rss功能轻松搞定

说明

因为这次导出的数据基本上都只有主帖,没太多的麻烦

作者: 发表于September 19, 2006 at 6:53 am

版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原始出处作者信息及此声明

Tags: ,,,

2 条评论 »

  1. Simon 于 2008-10-02 @ 22:54:44 留言

    我在空间里放了两个文件夹,一个是blog, 一个是club, blog安装了wordpress,club安装了phpbb,都已经安装成功,可是现在 http://example.com/club可以正常访问,而http://example.com/blog却不显示,能帮我想想这是哪里出错了吗,(我曾经试着把wordpress内容放在根目录下,也安装成功了,但是打开example.com时也是不显示)

    从http://example.com/blog/wp-admin/后台登陆是可以显示的

  2. Volcano 于 2008-10-10 @ 09:37:39 留言

    试着重新运行wordpress的安装程序?我想一定是wp-config.php设置问题

RSS 为此帖反馈评论 · 反向跟踪 网站

留条评论