我正在尝试使用bb-ruby gem 在我的 Rails 应用程序中实现标记系统。目前我正在研究类似于 Stackoverflow 如何处理它的代码降价的东西,我遇到了一些困难。
本质上我想要用户输入的文本:
[code]<h1>标题</h1>[/code]
以纯文本形式吐出代码,可能在 pre 和 code 标记块中。将该文本字符串传递给我的代码解析器会将代码包装在 pre 和 code 块中,但 HTML 也会被渲染。我将字符串传递给我的代码解析器,如下所示:
sanitize(text.bbcode_to_html(formats, false).html_safe)
当然,如果我从调用中删除 .html_safe 助手,我的视图会吐出:
<pre><code><br /> <h1>Hello World</h1><br /> </code></pre>
显然这不是我们想要的结果。所以我的问题是,如何在维护 html_safe 辅助方法的同时仅在 pre + code 标记内完成纯文本代码?