├── README.md └── converter.php /README.md: -------------------------------------------------------------------------------- 1 | # typecho2Hexo 2 | 3 | Typecho 文章批量转 Hexo Markdown 文档。 4 | 5 | ## Usage 6 | 7 | 1.修改数据库配置,表前缀 8 | 9 | ```php 10 | // 根据实际情况更改 11 | $db->connect('localhost','username','password','database'); 12 | $prefix = 'tc_'; 13 | ``` 14 | 15 | 2.运行 16 | 17 | ```bash 18 | php converter.php 19 | ``` 20 | -------------------------------------------------------------------------------- /converter.php: -------------------------------------------------------------------------------- 1 | connect('localhost','username','password','database'); 6 | $prefix = 'typecho_'; 7 | $sql = <<query($sql); 14 | if ($res) { 15 | if ($res->num_rows > 0) { 16 | while ($r = $res->fetch_object()) { 17 | $_c = @date('Y-m-d H:i:s', $r->created); 18 | $_t = str_replace('', '', $r->text); 19 | $_tmp = <<title} 21 | categories: {$r->category} 22 | tags: [{$r->tags}] 23 | date: {$_c} 24 | --- 25 | {$_t} 26 | TMP; 27 | // windows下把文件名从UTF-8编码转换为GBK编码,避免出现生成的文件名为乱码的情况 28 | if (strpos(PHP_OS, "WIN") !== false) { 29 | $name = iconv("UTF-8", "GBK//IGNORE", $r->title); 30 | echo $name.'
'; 31 | } else { 32 | $name = $r->title; 33 | echo $name.'
'; 34 | } 35 | // 替换不合法文件名字符 36 | file_put_contents(str_replace(array(" ", "?", "\\", "/", ":", "|", "*"), '-', $name) . ".md", $_tmp); 37 | } 38 | } 39 | $res->free(); 40 | } 41 | $db->close(); 42 | --------------------------------------------------------------------------------