我正在尝试为某些文章标题创建类似于永久链接的行为,但我不想为永久链接添加新的数据库字段。所以我决定编写一个助手,将我的文章标题从:
"O "focoasă" a pornit cruciada, împotriva bărbaţilor zgârciţi" to
"o-focoasa-a-pornit-cruciada-impotriva-barbutilor-zgarciti".
当我弄清楚如何用连字符替换空格并删除其他特殊字符(除 - 之外)时,使用:
title.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase
我想知道是否有任何其他方法可以仅通过一个 .gsub 方法调用将一个字符替换为特定的其他字符,因此我不必为所有的 title.gsub("ă", "a") 方法链接我本地化的UTF-8特殊字符。
我正在考虑用所有特殊字符及其对应字符构建一个哈希,但我还没有弄清楚如何将变量与正则表达式一起使用。
我正在寻找的是这样的:
title.gsub(/\s/, "-").gsub(*replace character goes here*).gsub(/[^\w-]/, '').downcase
Thanks!
我在我的应用程序中使用以下方法解决了这个问题统一解码器 https://rubygems.org/gems/unidecoder gem:
require 'unidecode'
def uninternationalize(str)
Unidecoder.decode(str).gsub("[?]", "").gsub(/`/, "'").strip
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)