Я использую 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>
Код был экранирован. Как этого избежать? Собственно, что я делаю:
- Открыть шаблон на диске
- Разберите его с Нокогири
- Замените некоторые узлы (не тот, который экранирован, а некоторые другие)
- Сохранить шаблон обратно на диск
- Разобрать шаблон с помощью ERB, который явно не работает, так как разметка ERB была испорчена.