Ruby 帖子标题 slug

标签 ruby string lowercase gsub

我应该如何将帖子标题转换为 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/

相关文章:

ruby-on-rails - 如何根据 'created_at'字段的月份设置条件

ruby - 未定义的方法 'new'

python - 如何将具有字符串值(如 '[title:item][' title2 :item]'. ..etc)的列拆分为带有 pandas 的字典

string - Bash 将输出解析为变量

java - 从路径加载时如何将所有行转换为小写?

ruby - ruby 中的实例变量就像类变量

ruby-on-rails - Rails 是否必须延迟加载所有内容?或者是吗?

java - 它只给出一个字符串作为输出

c# - 将 "ACCOUNTS\\"之后的隐蔽名称部分转换为小写?

javascript - JavaScript 中的土耳其语大小写转换