require 'rexml/document' BAD_ELEMENTS=['param','script','applet', 'style'] # Eliminate with contents GOOD_ATTRIBUTES=['title','cite','alt','rel','rev'] # Leave alone def handle_element(element) if BAD_ELEMENTS.member? element.name element.remove else element.attributes.each_attribute do |attr| attr.remove unless GOOD_ATTRIBUTES.member? attr.name end element.elements.each {|subel| handle_element subel} end end doc=REXML::Document.new($stdin) handle_element(doc.root) doc.write