0

私はひもを持っています。その文字列は html コードであり、私が作成しているブログ投稿のティーザーとして機能します。HTML コード全体 (ティーザー) は、データベースのフィールドに格納されます。

私の目標: ユーザー (Facebook のようなソーシャル ボタン) が特定のブログ投稿を気に入ったときに、ニュース フィードに適切なデータが表示されるようにしたいと考えています。これを行うには、イメージの最初のオカレンスでティーザーからイメージ パスを抽出する必要がありますsrc="i-m-a-g-e--p-a-t-h"。ユーザーがティーザーに画像を 1 つだけ入れた場合は成功しましたが、誤って 2 つ以上の画像を入れた場合、全体がクラッシュします。<p>さらに、説明フィールドでは、タグ内で最初に出現するテキストを抽出する必要があります。問題は、ユーザーが最初のタグ内に画像を配置できることです。

何日も私を悩ませてきた問題を専門家が解決するのを手伝ってくれたら、とてもありがたいです。

src を抽出するための正規表現を含むテキスト文字列は、http: //rubular.com/r/gajzivoBSfにあります。

ありがとう!

4

1 に答える 1

2

自分でHTMLを解析しようとしないでください。専門家にやらせてください。

require 'nokogiri'
frag = Nokogiri::HTML.fragment( your_html_string )
first_img_src = frag.at_css('img')['src']
first_p_text  = frag.at_css('p').text
于 2012-04-14T23:25:53.240 に答える