ruby中的“URLize”字符串

时间:2017-11-17 16:21:41

标签: ruby

我在人类可读的格式上得到了一些字符串,这些将成为我的wordpress帖子的标题。因此,为了生成该帖子的url,我想知道是否有一些方法可以在ury中“urlize”一个字符串。例如,如果我有字符串“在我的áccented字符串上做一些测试”,我想得到“在我的重音字符串上做一些测试”或者我必须自己写吗?提前谢谢!

3 个答案:

答案 0 :(得分:2)

经过一些建议,实现了我自己的方法:

require 'i18n'

I18n.config.available_locales = :en

def urlize(string)
   I18n.transliterate(string).squeeze.gsub(" ", "-").downcase
end

希望这有助于某人,感谢您的帮助!

答案 1 :(得分:2)

我偶尔会使用i18n(例如here),但如果你不想要另一个宝石,你也可以使用.tr

string_with_special_chars.tr( 
"ÀÁÂÃÄÅàáâãäåĀāĂ㥹ÇçĆćĈĉĊċČčÐðĎďĐđÈÉÊËèéêëĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħÌÍÎÏìíîïĨĩĪīĬĭĮįİıĴĵĶķĸĹĺĻļĽľĿŀŁłÑñŃńŅņŇňʼnŊŋÒÓÔÕÖØòóôõöøŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŠšſŢţŤťŦŧÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųŴŵÝýÿŶŷŸŹźŻżŽž", 
"AAAAAAaaaaaaAaAaAaCcCcCcCcCcDdDdDdEEEEeeeeEeEeEeEeEeGgGgGgGgHhHhIIIIiiiiIiIiIiIiIiJjKkkLlLlLlLlLlNnNnNnNnnNnOOOOOOooooooOoOoOoRrRrRrSsSsSsSssTtTtTtUUUUuuuuUuUuUuUuUuUuWwYyyYyYZzZzZz")

答案 2 :(得分:2)

不会给你很好的结果,但是

"Doing-some-test-on-my-%C3%A1ccented-string"

为您的例子提供

DECLARE @PermsJSON NVARCHAR(MAX) =
N'[{
    "AppId": 1,
    "Perms":
    [{

        "Permission": ["AA", "BB"],
        "PermissionTypeID": 2
    },
    {
        "Permission": ["10"],
        "PermissionTypeID": 1
    }]
},
{
    "AppId": 2,
    "Perms":
    [{

        "Permission": ["IM", "NM"],
        "PermissionTypeID": 2
    },
    {
        "Permission": ["42"],
        "PermissionTypeID": 1
    }]
}]';