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