我正在使用 Nokogiri 在我的 Sinatra、Ruby 应用程序中进行一些页面处理。
所以当我这样做时:
require 'nokogiri'
s='<a href="<%=@prevHref%>">a</a>'
doc = Nokogiri::HTML.fragment(s)
puts doc.to_s
我明白了
<a href="%5C<%=@prevHref%%5C>">a</a>
代码被转义。我该如何避免这种情况?其实我在做的是:
- 打开磁盘上的模板
- 用 Nokogiri 解析它
- 替换一些节点(不是逃脱的节点;其他一些)
- 将模板保存回磁盘
- 使用 ERB 解析模板显然失败,因为 ERB 标记被破坏了。