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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |