4

タイトルはそれをかなり説明しています。Ruby1.9.3とRails3.2.2を使用して自分用のブログエンジンを作成しています。投稿として使用するには、投稿(DBにテキスト単位として保存されている)から最初の段落を取得できる必要があります。フロントページの要約。これを行う最も簡単な方法は何ですか?

Googleはこの問題についてほとんど明らかにしていません。それは一般的なニーズのようには思えません。

4

3 に答える 3

13

あなたの世界で「段落」を正確に定義するものは何かを考え始めると、答えはかなり明白になります。

最初の文字リストの後に 2 つの改行文字が続く場合は? 何かのようなもの

str.split("\n\n", 2)[0]

働くことができました。

HTML があり、段落が<p>タグで定義されている場合は、nokogiri のように使用します

Nokogiri::HTML.parse(input_string).css('p').first.text

しかし、それはすべて、段落をどのように定義するかによって異なります。そして、このようなものは、正確に何をしたいのか、つまり、抽象的な方法で入力データを出力データに変換する方法について考え始めると、ほとんどの場合、自然に解決します。必要なアルゴリズムは、これらの手順から自然に得られます。

于 2012-04-14T21:11:02.843 に答える
0

これが誰かを助けるかもしれない場合に備えて、Holger Just の Nokogiri ソリューションと RedCloth を組み合わせて html タグを取得することで、RoR で望ましい結果を得ました。

Nokogiri::HTML.parse(raw RedCloth.new(input_string).to_html).css('p').first.text
于 2013-02-24T09:52:01.000 に答える
-1

str.lines[0] は最初の文を提供するはずです...または、文の途中で分割しても構わない場合は、単純に truncate() ActionView Helper を使用します

于 2013-08-09T13:34:48.840 に答える