我正在使用WMD编辑器。 This一个。
工作正常。但问题是,我想让它与编辑表单一起使用。
现在我得到html而不是降价文字。 我的代码就像在我的编辑页面中一样。
<div id="wmd-editor" class="wmd-panel">
<div id="wmd-button-bar"></div>
<textarea id="wmd-input"><?php echo $row['description']?></textarea>
</div>
<div id="wmd-preview" class="wmd-panel"></div>
<div id="wmd-output" class="wmd-panel"></div>
不确定这里有什么问题。
答案 0 :(得分:2)
首先关闭:存储库未维护(显然已超过7年未更新),因此您应该考虑切换到活动分支。 WMD已重命名为Page Down
,但您可以使用许多替代编辑器。
正如timclutton所述,您可能正在将HTML存储在数据库中。 WMD不支持从HTML到Markdown的转换。所以最好的解决方案是将内容存储为Markdown。
要执行此操作,请更改创建页面。由于我没有代码,我只会举例说明它的外观:
<form action="/create" method="POST">
<div id="wmd-editor" class="wmd-panel">
<div id="wmd-button-bar"></div>
<textarea name="content" id="wmd-input"></textarea>
</div>
<div id="wmd-preview" class="wmd-panel"></div>
<div id="wmd-output" class="wmd-panel"></div>
<button type="submit">Send</button>
</form>
服务器端您现在可以将$_POST['content']
的内容存储在数据库中,然后将其完全按照您现在的方式输出到编辑页面。
最后来自Page Down wiki的安全说明:
应该注意,就用户输入的输入而言,Markdown并不安全。几乎所有东西在Markdown中都有效,特别是
<script>doEvil();</script>
之类的东西。此PageDown存储库包含Stack Exchange用于清理用户输入的两个插件;请参阅下面的Markdown.Sanitizer.js的说明。