7

コンテンツからすべてのhtml要素を削除する必要があります。コンテンツの例:

"<p><img alt=\"\" src=\"/ckeditor_assets/pictures/1/content_twitter-sink.jpg\" style=\"width: 570px; height: 399px;\" /></p>\r\n\r\n<h3 style=\"font-size: 1.38462em; margin: 1em 0px 0px; font-weight: 600; line-height: 1.2; font-family: freight-sans-pro, sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; color: rgb(46, 46, 46);\">Soraya Calavassy, communications manager at the Award in Australia,&nbsp;shares her organisation&#39;s experience&nbsp;piloting our new global visual identity.</h3>\r\n\r\n<p style=\"margin: 0.5em 0px 0px; text-rendering: optimizelegibility; font-size: 1.30769em; line-height: 1.3; color: rgb(78, 78, 78); font-family: freight-sans-pro, sans-serif;\">&quot;While Australia has a very strong brand locally, there are some great benefits for incorporating"

投稿を表示するときは、必要な出力を提供するrawを使用します。しかし、私は抜粋を生成する必要があります。そのためには、すべてのHTMLタグを削除し、画像を削除する必要があります。しかし、サニタイズを使用 すると、画像が削除されません。strip_tagsを使用すると、画像は削除されますが&#39;、アポストロフィや&nbsp;スペースなどが追加されます。では、画像やコンテンツを含まないクリーンな抜粋を取得するにはどうすればよい&nbsp;でしょうか。

4

4 に答える 4

15

試すstrip_tags(text).html_safe

于 2013-02-04T04:29:12.907 に答える
5

レール4.1では動作しません

strip_tagsをgsub関数と組み合わせる方法のみ(以下のリンク)

文字列内のRubygsub複数文字

だからヘルパーでは、私はします:

def format_text(string)
    strip_tags(string).gsub("&nbsp;", "").gsub("&#39;", "'")
end
于 2014-10-15T11:38:34.260 に答える
1

私はそのようなコードで問題に遭遇します

strip_tags("<p>a</p>\r\n") # => a&#13;

私が使う

sanitize("<p>a</p>", tags: [ ]) # => a\r\n
于 2015-03-06T10:15:51.300 に答える
0

raw(strip_tags(text).html_safe)実際にあなたが望むものです

于 2014-10-27T22:49:40.840 に答える