import bleach
import re

bleach.ALLOWED_TAGS += [
    'a', 'img', 'p', 'br', 'marquee', 'blink', 'audio', 'video', 'table', 
    'tbody', 'td', 'tr', 'pre', 
]
bleach.ALLOWED_ATTRIBUTES.update({
    'img': ['src', 'alt', 'title'],
    'audio': ['preload', 'controls', 'src'],
    'video': ['preload', 'controls', 'src'],
    'td': ['colspan'],
})

def clean(text):
    """Strip script tags and other possibly dangerous content
    """
    if text is not None:
        text = re.sub('<script.*?</script>', '', text, flags=re.DOTALL)
        return bleach.clean(text, strip=True)

@@ -42,21 +42,16 @@
 AGS += %5B
-%0A    
 'a', 'im
@@ -84,16 +84,40 @@
 'blink',
+%0A                       
  'audio'
@@ -136,21 +136,16 @@
 table', 
-%0A    
 'tbody',
@@ -160,16 +160,54 @@
 tr',
+%0A                        'div', 'span',
  'pre',
- 
 %0A%5D%0Ab

add div/span to bleach's allowed tags