前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >typecho文章批量导出为md文件

typecho文章批量导出为md文件

原创
作者头像
迷路的朱朱
发布2023-05-07 15:07:52
5900
发布2023-05-07 15:07:52
举报

typecho文章批量导出为md文件

1.复制下方代码在typecho网站根目录创建converter.php文件

代码语言:php
复制
<?php
// 运行 php converter.php
$db = new mysqli();
// 根据实际情况更改
$db->connect('localhost','数据库用户名','数据库密码','数据库名称');
$prefix = 'typecho_';
$sql = <<<TEXT
select title,text,created,category,tags from {$prefix}contents c,
 (select cid,group_concat(m.name) tags from {$prefix}metas m,{$prefix}relationships r where m.mid=r.mid and m.type='tag' group by cid ) t1,
(select cid,m.name category from {$prefix}metas m,{$prefix}relationships r where m.mid=r.mid and m.type='category') t2
where t1.cid=t2.cid and c.cid=t1.cid
TEXT;
$res = $db->query($sql);
if ($res) {
    if ($res->num_rows > 0) {
        while ($r = $res->fetch_object()) {
            $_c = @date('Y-m-d H:i:s', $r->created);
            $_t = str_replace('<!--markdown-->', '', $r->text);
            $_tmp = <<<TMP
{$_t}
TMP;
            // windows下把文件名从UTF-8编码转换为GBK编码,避免出现生成的文件名为乱码的情况
            if (strpos(PHP_OS, "WIN") !== false) {
                $name = iconv("UTF-8", "GBK//IGNORE", $r->title);
                echo $name.'<br>';
            } else {
                $name = $r->title;
				echo $name.'<br>';
            }
            // 替换不合法文件名字符
            file_put_contents(str_replace(array(" ", "?", "\\", "/", ":", "|", "*"), '-', $name) . ".md", $_tmp);
        }
    }
    $res->free();
}
$db->close();

2.使用文本编辑器打开converter.php将上方代码中 $db->connect('localhost','数据库用户名','数据库密码','数据库用户名'); 的信息更改为你自己的数据库信息

3.打开你的服务器终端

4.输入 php converter.php ,就会自动转换为md文件啦

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • typecho文章批量导出为md文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档