diff --git a/library/HTMLPurifier/Strategy/RemoveForeignElements.php b/library/HTMLPurifier/Strategy/RemoveForeignElements.php new file mode 100644 index 00000000..51d73031 --- /dev/null +++ b/library/HTMLPurifier/Strategy/RemoveForeignElements.php @@ -0,0 +1,42 @@ +generator = new HTMLPurifier_Generator(); + $this->definition = HTMLPurifier_Definition::instance(); + } + + function execute($tokens) { + $result = array(); + foreach($tokens as $token) { + if (!empty( $token->is_tag )) { + if (!isset($this->definition->info[$token->name])) { + // invalid tag, generate HTML and insert in + $token = new HTMLPurifier_Token_Text( + $this->generator->generateFromToken($token) + ); + } + } elseif ($token->type == 'comment') { + // strip comments + continue; + } elseif ($token->type == 'text') { + } else { + continue; + } + $result[] = $token; + } + return $result; + } + +} + +?> \ No newline at end of file