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:
-
<?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功能轻松搞定
说明
因为这次导出的数据基本上都只有主帖,没太多的麻烦
作者: volcano 发表于9月 19, 2006 at 6:53 am