gpt4 book ai didi

ruby-on-rails - 防止 Ruby 将 & 更改为 &?

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:01 25 4
gpt4 key购买 nike

我需要在我的网页标题中显示一些上标和下标字符。我有一个辅助方法,可以识别下标或上标的模式,并将其转换为 &sub2;或 ²

但是,当它出现在渲染页面的文件中时,它在源代码中显示为:

&sub2;

这是不对的。我将其设置为:

<% provide(:title, raw(format_title(@hash[:page_title]))) %>

但 raw 不起作用。感谢您的帮助。

方法:

def format_title(name)
label = name
if label.match /(_[\d]+_)+|(~[\d]+~)+/
label = label.gsub(/(_([\d]+)_)+/, '&sub\2;')
label = label.gsub(/(~([\d]+)~)+/, '&sup\2;')
label.html_safe
else
name
end

结束

我什至尝试过:

str.gsub(/&amp;/, '&')

但它回馈:

&amp;amp;sub2;

最佳答案

您也可以使用 Rails I18n 实现这一点。

<%= t(:page_title_html, scope: [:title]) %>

并在您各自的语言环境文件中。 (title.en.yml 最有可能):

title:
page_title: "Title with &sup2;"

这是 HTML symbols 的图表关于下标和上标。

更多信息请查看Preventing HTML character entities in locale files from getting munged by Rails3 xss protection


更新:

如果您需要动态加载页面标题,首先,您必须安装像Page Title Helper 这样的gem。 .

您可以按照 gem 文档中的指南进行操作。

关于ruby-on-rails - 防止 Ruby 将 & 更改为 &?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38382454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com