タイトルはそれをかなり説明しています。Ruby1.9.3とRails3.2.2を使用して自分用のブログエンジンを作成しています。投稿として使用するには、投稿(DBにテキスト単位として保存されている)から最初の段落を取得できる必要があります。フロントページの要約。これを行う最も簡単な方法は何ですか?
Googleはこの問題についてほとんど明らかにしていません。それは一般的なニーズのようには思えません。
タイトルはそれをかなり説明しています。Ruby1.9.3とRails3.2.2を使用して自分用のブログエンジンを作成しています。投稿として使用するには、投稿(DBにテキスト単位として保存されている)から最初の段落を取得できる必要があります。フロントページの要約。これを行う最も簡単な方法は何ですか?
Googleはこの問題についてほとんど明らかにしていません。それは一般的なニーズのようには思えません。
あなたの世界で「段落」を正確に定義するものは何かを考え始めると、答えはかなり明白になります。
最初の文字リストの後に 2 つの改行文字が続く場合は? 何かのようなもの
str.split("\n\n", 2)[0]
働くことができました。
HTML があり、段落が<p>
タグで定義されている場合は、nokogiri のように使用します
Nokogiri::HTML.parse(input_string).css('p').first.text
しかし、それはすべて、段落をどのように定義するかによって異なります。そして、このようなものは、正確に何をしたいのか、つまり、抽象的な方法で入力データを出力データに変換する方法について考え始めると、ほとんどの場合、自然に解決します。必要なアルゴリズムは、これらの手順から自然に得られます。
これが誰かを助けるかもしれない場合に備えて、Holger Just の Nokogiri ソリューションと RedCloth を組み合わせて html タグを取得することで、RoR で望ましい結果を得ました。
Nokogiri::HTML.parse(raw RedCloth.new(input_string).to_html).css('p').first.text
str.lines[0] は最初の文を提供するはずです...または、文の途中で分割しても構わない場合は、単純に truncate() ActionView Helper を使用します