PHP代码:HTML转markdown

目前网上的Markdown相关的转换器和编辑器都是markdown转html。对于web程序已经保存到数据库的html数据如果反解析为markdown则需要一点点小技巧。

我是将保存文章内容的字段分为了content_html和content_text两个字段,content_html存储html数据。content_text存储markdown原始数据。

前端我采用了stackoverflow的pagedown编辑器,可以将markdown转为html。保存的时候两种数据同时存入数据库。修改的时候在前端将修改好的markdown数据也同时更新了html数据。

我们就差一步,如果将以前老的html数据一次性保存到数据库的另外一个content_text字段呢?我用的是Dom Christie哥的to-markdown,一个html转markdown的PHP class。我用如下代码批量的把文章的内容添加上了markdown数据:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
mysql_connect("localhost", "test", "111111") or
die("Could not connect: " . mysql_error());
mysql_select_db("test");
mysql_query("set names utf8");
require_once(dirname(__FILE__) . '/HTML_To_Markdown.php');
//连接数据库
require_once 'conn.php';
$query = sprintf("select * from posts");
$r = mysql_query($query);
$i=0;
while($row = mysql_fetch_assoc($r))
{
$markdown = new HTML_To_Markdown($row['content_html']);
$markdown = addslashes($markdown);
$result = mysql_query($q = sprintf("update posts set content_text='%s' where id=%s",$markdown, $row["id"]));
if($result)
{
echo '保存成功'.$row["id"];
}
else
{
echo '保存失败'.$row["id"];
}
}

标签: PHP, Markdown

仅有一条评论

  1. 我有段时间研究了java和前端pagedown编辑器的代码,有兴趣可以看看这个:终于搞定了stackoverflow的富文本编辑器pagedown http://www.zuidaima.com/share/1554591662836736.htm

添加新评论