Html Rails 3:视图中的转义字符串,但不是全部
在视图中,默认情况下会转义字符串Html Rails 3:视图中的转义字符串,但不是全部,html,ruby-on-rails-3,view,escaping,Html,Ruby On Rails 3,View,Escaping,在视图中,默认情况下会转义字符串 mystring = "A&B: <b>some string here</b>" <%=mystring%> 但是,我需要呈现标记并转义符号 A&B: <b>some string here</b> A&;B:这里有些绳子 html\u safeunescape符号和标记。是否有一种方法可以转义特殊字符,如符号,但不能转义html标记?您可以在部分上拆分字符串,然
mystring = "A&B: <b>some string here</b>"
<%=mystring%>
但是,我需要呈现
标记并转义符号
A&B: <b>some string here</b>
A&;B:这里有些绳子
html\u safe
unescape符号和
标记。是否有一种方法可以转义特殊字符,如符号,但不能转义html标记?您可以在部分上拆分字符串,然后使用Ruby的CGI::unescapeElement方法取消特定元素的转义。在您的情况下,您需要使用以下选项:
mystring = CGI::escape_html("A&B: <b>some string here</b>")
# You can replace ["B"] with an array of tags to be escaped, i.e. ["B", "A", "IMG"]
mystring = CGI::unescapeElement(mystring, ["B"])
<%= mystring.html_safe %>
mystring=CGI::escape_html(“A&B:这里有一些字符串”)
#您可以用要转义的标记数组替换[“B”],即[“B”、“A”、“IMG”]
mystring=CGI::unescapelement(mystring,[“B”])
有关更多转义方法,请参阅。为什么要转义其中一个,而不是另一个?我有一个特例,从模型返回html片段,需要确保转义特殊字符,而不是html标记。干杯!注意别名
CGI::unescape\u元素
,因为它只接受一个参数,不允许提供必要的标记。明白了。我会记下来的。谢谢它看起来很干净,但我不建议这样做,因为它会取消整个属性的外观。字符串你好,朋友们代码>使用此方法直接滑入您的页面。
mystring = CGI::escape_html("A&B: <b>some string here</b>")
# You can replace ["B"] with an array of tags to be escaped, i.e. ["B", "A", "IMG"]
mystring = CGI::unescapeElement(mystring, ["B"])
<%= mystring.html_safe %>