Strip/Remove HTML tags

Posted: January 26th, 2010 | Author: Davo | Filed under: Django | Tags: , , , | No Comments »

To strip/remove HTML tags from an existing string we can use the strip_tags function.

# import the strip_tags
from django.utils.html import strip_tags

# simple string with html inside.
html = '<p>paragraph</p>'
print html # will produce: <p>paragraph</p>

stripped = strip_tags(html)
print stripped # will produce: paragraph

This is also available as a template tag:

{{ somevalue|striptags }}

If you want to remove only specific tags you need to use the removetags

from django.template.defaultfilters import removetags
html = '<strong>Bold...</strong><p>paragraph....</p>'
stripped = removetags(html, 'strong') # removes the strong only.
stripped2 = removetags(html, 'strong p') # removes the strong AND p tags.

Also available in template:

{{ value|removetags:"a span"|safe }}