繁体   English   中英

Rails:html_escape无法正常工作

[英]Rails: html_escape isn't working

由于某些原因,html转义在我的Rails应用程序中不起作用。 即使我写类似

<%=h '©äö' %> 

它没有将任何字符转换为HTML实体。

我不知道那可能是什么。 它总是工作正常,但现在突然不起作用了。

有任何想法吗?

öä是HTML中的有效字符。 即使有HTML实体,也无需转义它们。 这些实体是方便的,而不是必需的-只要声明的编码(HTTP标头)和实际的字符编码匹配,则按字面意义出现就没有问题。

像XML中一样,始终必须转义的唯一字符是<>&"

我会说h只替换HTML特殊字符<,>和&和。。请查看h函数背后的Rails ERB :: Util.html_escape文档。

Google Sitemap 需要完全转义的URL ,因此在这种情况下,您需要转义所有特殊和国际字符。

这个htmlentities可以为您完成此任务。

我什至在application_helper.rb写了一个小包装:

def html_entity_escape(s)
  require 'htmlentities'
  @html_coder ||= HTMLEntities.new
  @html_coder.encode(s)
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM