Ajout de HTML à mon flux RSS / Atom dans Rails
-
01-07-2019 - |
Question
Le générateur XML de rails par défaut échappe à tout le code HTML. Par exemple, quelque chose comme:
atom_feed do |feed|
@stories.each do |story|
feed.entry story do |entry|
entry.title story.title
entry.content "<b>foo</b>"
end
end
end
produira le texte:
<b>foo</b>
au lieu de: toto
Existe-t-il un moyen de demander au générateur XML de ne pas échapper au XML?
La solution
s’avère que vous devez faire
entry.content "<b>foo</b>", :type => "html"
Bien que l’envelopper dans un CDATA l’arrête de fonctionner.
Autres conseils
entry.content "type" => "html" do
entry.cdata!(post.content)
end
http://builder.rubyforge.org/classes/Builder/XmlMarkup.html
Les caractères XML spéciaux < ;, > ;, et & amp; sont convertis en < ;, > et & amp; automatiquement Utilisez le & Lt; & Lt; opération pour insérer du texte sans modification.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow