我正在使用RoR构建一个Web应用程序。我该怎么做:
<b>this is my text</b>
并将第一个单词大写,所以看起来像这样
<b>This is my text</b>
我尝试过使用大写方法,但它不适用于HTML。有没有办法做到这一点,最好不需要安装任何额外的宝石?
(对于它的价值,字符串只包含<b>
标签和文字。)
答案 0 :(得分:2)
可能不是最优雅的解决方案,但应该做的工作:
yourstring[3,1] = yourstring[3,1].capitalize
如果只有&lt; b&gt;在开始。您可能希望使用正则表达式来查找第一个字符。
答案 1 :(得分:1)
最简单的方法是使用CSS text-transform
property。假设你的字符串总是全部小写:
<b style="text-transform: capitalize;">this is my text</b>
答案 2 :(得分:0)
你可以这样做,如果你在一个字符串变量中有多个粗体元素,可能需要扩展。
t = "<b>this is my text</b>"
t.gsub!(/(<b>)(.*)(<\/b>)/, "#{$1}#{($2).capitalize}#{$3}")
使用此方法可以提高灵活性。如果您的标签发生变化,或者有时您没有标签,则可以轻松修改正则表达式以进行补偿。值得一提的是,这也可行,但更难扩展。
t =~ /(<b>)(.*)(<\/b>)/
t = "#{$1}#{($2).capitalize}#{$3}"