加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么MarkdownSharp编码我的HTML?

发布时间:2020-12-15 06:46:29 所属栏目:百科 来源:网络整理
导读:在我看来,Markdown的一个更大的目标就是防止用户直接键入潜在的畸形 HTML. 那在MarkdownSharp中并不完全符合我的要求. 当您在“abc”之后立即有额外的换行符时,此示例正常工作… 但是当那个换行不在那里的时候,我认为它仍然是HtmlEncoded,但是这并没有发生
在我看来,Markdown的一个更大的目标就是防止用户直接键入潜在的畸形 HTML.

那在MarkdownSharp中并不完全符合我的要求.

当您在“abc”之后立即有额外的换行符时,此示例正常工作…

但是当那个换行不在那里的时候,我认为它仍然是HtmlEncoded,但是这并没有发生

在幕后,渲染的标记来自一个iframe.这是它背后的代码…

<% 
var md = new MarkdownSharp.Markdown();
%>
<%= md.Transform(Request.Form[0]) %>

当然我一定是错过了一些东西.哦,我正在使用v1.13(这篇文章的最新版本).

编辑(这是StackOverflow实现的测试)

ABC

这不应该是红色的

解决方法

对于那些不想使用Steve Wortham定制解决方案的用户,我已经向MarkdownSharp的用户提交了一个问题和一个提议的修复: http://code.google.com/p/markdownsharp/issues/detail?id=43

如果您下载我附加的Markdown.cs文件,您将找到一个可以设置的新选项.它会停止MarkdownSharp重新编码代码块中的文本.

不要忘记HTML编码您的输入之前,您将它传递到降价,而不是之后.

另一个解决方案是白名单HTML标签,如Stack Overflow.在您将内容传递给降价后,您将会执行此操作.

有关详细信息,请参阅:http://www.CodeTunnel.com/blog/post/24/mardownsharp-and-encoded-html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读