2009-07-22 14 views
5

私はRailsアプリケーションに取り組んでいます。CSSやJavaScriptのブロックを取り除く最も良い方法は何ですか?ストリップインラインCSSとJavaScript in JavaScript

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

私は、HTMLのほとんどの世話をするためにstrip_tagsヘルパーを使用していますが、内容はインラインCSSが含まれている場合には、CSSの束を残します。ありがとう

答えて

0

これを行うには、sanitizeメソッドを使用することをお勧めします。 strip_tags方法はやや限られており、安全性の低いです:

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

サニタイズを使用すると、はるかに安全です。最初に許可するタグのホワイトリストを用意してください。

+0

感謝:-)質問にを求めたものですが、それは私の問題を解決することはできません。私はオープニングとクローズスタイルのタグ、それらのタグ間のすべてのインラインCSSを取り除きたいと思います。このように私はプレーンテキストだけが残っています。 –

0

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

+0

ありがとう、これは間違いなく有用ですが、私の質問に答えません(上記のコメントを参照)。ありがとう –

4

は鋸山ライブラリを使用してみてください:

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 

鋸山はるかにすることができますが、これはあなたが