1

RoR を使用して Web アプリを作成しています。これをどのように受け止めますか:

<b>this is my text</b>

最初の単語を大文字にすると、次のようになります

<b>This is my text</b>

capitalize メソッドを使用してみましたが、HTML では機能しません。できれば追加のgemをインストールする必要なしに、これを行う方法はありますか?

(価値があるのは、文字列には<b>タグとテキストのみが含まれていることです。)

4

3 に答える 3

2

最もエレガントなソリューションではないかもしれませんが、仕事をする必要があります:

yourstring[3,1] = yourstring[3,1].capitalize

先頭に <b> しかない場合。正規表現を使用して最初の文字を見つけることができます。

于 2012-07-30T19:05:21.307 に答える
1

最も簡単な方法は、実際にはCSStext-transformプロパティを使用することです。文字列が常にすべて小文字になると仮定します。

<b style="text-transform: capitalize;">this is my text</b>
于 2012-07-31T18:24:26.163 に答える
0

このようなことを行うことができます.1つの文字列変数に複数のボールド要素がある場合は、拡張する必要があるかもしれません.

t = "<b>this is my text</b>"

t.gsub!(/(<b>)(.*)(<\/b>)/, "#{$1}#{($2).capitalize}#{$3}")

この方法を使用すると、もう少し柔軟性があります。タグが変更された場合、またはタグがない場合がある場合は、正規表現を簡単に変更して補正できます。これも同様に機能しますが、拡張するのは難しいことに言及する価値があります。

t =~ /(<b>)(.*)(<\/b>)/
t =  "#{$1}#{($2).capitalize}#{$3}"
于 2012-07-31T18:39:22.890 に答える