diff --git a/app/services/wordpress.rb b/app/services/wordpress.rb index 1d9fc1833be88b0ace68bbf5ba71aaa13cf9ccb7..3a053c4268d2431615e88e2e78920ee6f38f5503 100644 --- a/app/services/wordpress.rb +++ b/app/services/wordpress.rb @@ -2,7 +2,16 @@ class Wordpress attr_reader :domain def self.clean(html) - fragment = Sanitize.fragment(html, Sanitize::Config::RELAXED) + fragment = Sanitize.fragment(html, Sanitize::Config.merge(Sanitize::Config::RELAXED, + attributes: Sanitize::Config::RELAXED[:attributes].merge({ + all: Sanitize::Config::RELAXED[:attributes][:all].dup.delete('class'), + 'a' => Sanitize::Config::RELAXED[:attributes]['a'].dup.delete('rel') + }), + elements: Set.new(Sanitize::Config::RELAXED[:elements]).delete('div'), + whitespace_elements: { + 'div' => { :before => "", :after => "" } + } + )) fragment = Nokogiri::HTML5.fragment(fragment) if fragment.css('h1').any? # h1 => h2 ; h2 => h3 ; ...