我应该如何将帖子标题转换为 Ruby 中的 slug?
标题可以有任何字符,但我只希望 slug 允许 [a-z0-9-_]
(它应该允许任何其他字符吗?)。
所以基本上:
- 小写所有字母
- 将空格转换为连字符
- 删除多余的字符
最佳答案
这是 Rails 吗? (适用于 Sinatra)
string.parameterize
就是这样。有关更复杂的重击,请参阅 ActsAsUrl .它可以执行以下操作:
"rock & roll".to_url => "rock-and-roll"
"$12 worth of Ruby power".to_url => "12-dollars-worth-of-ruby-power"
"10% off if you act now".to_url => "10-percent-off-if-you-act-now"
"kick it en Français".to_url => "kick-it-en-francais"
"rock it Español style".to_url => "rock-it-espanol-style"
"tell your readers 你好".to_url => "tell-your-readers-ni-hao"
关于Ruby 帖子标题 slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4308377/