无法使用StackExchanges的PageDown将markdown转换为HTML

时间:2011-12-28 17:32:28

标签: php javascript jquery html markdown

我有一种方法可以将直接标记代码(由PageDown编辑器生成)存储到数据库中。在另一个页面上,我从数据库中获取标记并通过降价转换器运行它,但是我似乎无法获得任何输出。这是我的剧本:

<script type="text/javascript" src="include/Markdown.Converter.js"></script>
<script type="text/javascript" src="include/Markdown.Sanitizer.js"></script>
<script type="text/javascript" src="include/Markdown.Editor.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        var converter = Markdown.Converter();
        $("#description-content").text(converter.makeHTML("<?php echo $description ?>"));
    });
</script>

PHP正在回应数据库中的纯缩写文本。当我访问该页面时,div中没有​​任何内容。我做错了什么?

编辑:我没有看到任何回音文本,如果我在.text()内简单添加明文,我就能看到它。

3 个答案:

答案 0 :(得分:4)

Markdown.Converter是一个构造函数;你必须使用

var converter = new Markdown.Converter();

答案 1 :(得分:1)

答案较晚但可能对新访客有所帮助

如果您是来自数据库的fetchig结果并通过PHP回显,我更希望https://michelf.ca/projects/php-markdown/classic/

下载文件后,可以使用它将降价文本转换为html。

<?php 

$query_post = mysqli_query($con,"SELECT * FROM `posts` ...//your query
$row_post = mysqli_fetch_assoc($query_post);

$content = $row_post['Body'];
include("path-to/PHP-Markdown-Extra-1.2.8/markdown.php");
$text = <<<EOD

$content

EOD;
echo Markdown($text);
?>

这将显示结果,如我在这里的答案,或者stackoverflow中的任何其他答案或问题

欢呼声

答案 2 :(得分:0)

也许你可以尝试使用Showdown代替PageDown,看看你是否得到任何不同的结果,就像测试一样:https://github.com/coreyti/showdown/blob/master/src/showdown.js Showdown是另一个Markdown js实现。

你在那里的代码看起来没有任何问题,我能想到的唯一优势是$description中未转义的引号。