RoR を使用して Web アプリを作成しています。これをどのように受け止めますか:
<b>this is my text</b>
最初の単語を大文字にすると、次のようになります
<b>This is my text</b>
capitalize メソッドを使用してみましたが、HTML では機能しません。できれば追加のgemをインストールする必要なしに、これを行う方法はありますか?
(価値があるのは、文字列には<b>
タグとテキストのみが含まれていることです。)
RoR を使用して Web アプリを作成しています。これをどのように受け止めますか:
<b>this is my text</b>
最初の単語を大文字にすると、次のようになります
<b>This is my text</b>
capitalize メソッドを使用してみましたが、HTML では機能しません。できれば追加のgemをインストールする必要なしに、これを行う方法はありますか?
(価値があるのは、文字列には<b>
タグとテキストのみが含まれていることです。)
最もエレガントなソリューションではないかもしれませんが、仕事をする必要があります:
yourstring[3,1] = yourstring[3,1].capitalize
先頭に <b> しかない場合。正規表現を使用して最初の文字を見つけることができます。
最も簡単な方法は、実際にはCSStext-transform
プロパティを使用することです。文字列が常にすべて小文字になると仮定します。
<b style="text-transform: capitalize;">this is my text</b>
このようなことを行うことができます.1つの文字列変数に複数のボールド要素がある場合は、拡張する必要があるかもしれません.
t = "<b>this is my text</b>"
t.gsub!(/(<b>)(.*)(<\/b>)/, "#{$1}#{($2).capitalize}#{$3}")
この方法を使用すると、もう少し柔軟性があります。タグが変更された場合、またはタグがない場合がある場合は、正規表現を簡単に変更して補正できます。これも同様に機能しますが、拡張するのは難しいことに言及する価値があります。
t =~ /(<b>)(.*)(<\/b>)/
t = "#{$1}#{($2).capitalize}#{$3}"