在RoR中使用html大写字符串

时间:2012-07-30 18:56:00

标签: html ruby-on-rails ruby

我正在使用RoR构建一个Web应用程序。我该怎么做:

<b>this is my text</b>

并将第一个单词大写,所以看起来像这样

<b>This is my text</b>

我尝试过使用大写方法,但它不适用于HTML。有没有办法做到这一点,最好不需要安装任何额外的宝石?

(对于它的价值,字符串只包含<b>标签和文字。)

3 个答案:

答案 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}"