Strip HTML tags

Posted: January 26th, 2010 | Author: | Filed under: Django | Tags: , , , | 1 Comment »

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 }}

One Comment on “Strip HTML tags”

  1. 1 Svet said at 7:13 am on October 13th, 2011:

    Bless you for sharing this information I have been looking for this function/decorator for ages.

    When I grow up I want to become just like you.