Ruby on rails Gemoji打破了Kramdown';s HTML

Ruby on rails Gemoji打破了Kramdown';s HTML,ruby-on-rails,ruby,Ruby On Rails,Ruby,自动链接解析器在文本字段上运行时为什么会中断? 对于[测试](http://google.com “测试”)我得到: <a href="http://google.com &quot;Test&quot;">Test</a> 其他一些信息: raw(Kramdown::Document.new(text.to_html)返回预期的输出,但不包含Gemoji raw(emojify(text))不会改变任何东西,因为text不包含表情符号 raw(emo

自动链接解析器在文本字段上运行时为什么会中断?

对于<代码>[测试](http://google.com “测试”)我得到:

<a href="http://google.com &quot;Test&quot;">Test</a>
其他一些信息:

  • raw(Kramdown::Document.new(text.to_html)
    返回预期的输出,但不包含Gemoji
  • raw(emojify(text))
    不会改变任何东西,因为
    text
    不包含表情符号
  • raw(emojify(Kramdown::Document.new(text.to_html))
    返回预期输出,但作为原始html返回

您的
emojify
方法所做的第一件事是
h(text)
,HTML会转义输入,转换

[Test](http://google.com "Test")
进入

Kramdown然后对该字符串进行操作,由于它不再包含引号,因此它假定
(…)
的全部内容是URL,生成:

<a href="http://google.com &quot;Test&quot;">Test</a>


要使其正常工作,您只需取消对
h
text.gsub(…
)的呼叫。如果这是外部数据,您可能需要考虑如何管理字符串安全。

非常好!非常感谢:)顺便问一句,您有没有可能被雇来做一个简短的工作?
[Test](http://google.com "Test")
[Test](http://google.com &quot;Test&quot;)
<a href="http://google.com &quot;Test&quot;">Test</a>