5

私は Rails アプリケーションに取り組んでおり、CSS または JavaScript のブロックを削除する最良の方法を知りたいです。

<style>
...
</style>
  -or-
<script>
...
</script>

私はstrip_tagsヘルパーを使用してほとんどの HTML を処理していますが、コンテンツにインライン CSS が含まれていると大量の CSS が残ります。ありがとう

4

3 に答える 3

4

Nokogiri ライブラリを使用してみてください:

require 'nokogiri'

str = " ... " # some html from user
doc = Nokogiri::HTML(str)
doc.css("style,script").remove # remove all tags with content
new_string = doc.to_s

Nokogiri はもっと多くのことができますが、これはあなたが質問で求めたものです :-)

于 2009-11-27T12:03:58.880 に答える
0

アプリケーションにユーザー提供の CSS が必要な場合は、 http: //github.com/courtenay/css_file_sanitize/tree/masterも試してみてください。

于 2009-07-26T10:38:03.563 に答える
0

これを行うための推奨される方法は、サニタイズメソッドを使用することです。strip_tags メソッドは多少制限があり、安全性が低くなります。

[strip_tags] コメントを含むすべての HTML タグを html から取り除きます。これは html-scanner トークナイザーを使用するため、その HTML 解析機能は html-scanner の機能によって制限されます。

サニタイズを使用すると、はるかに安全になります。最初に許可するタグのホワイト リストを作成するだけです。

于 2009-07-22T04:24:37.853 に答える