PYTHON strip_tags

is this article helpful?
Python replacement for PHP's strip_tags [ edit | history ]
Please refer to

Strip-o-Gram HTML Conversion Library

This is a library for converting HTML to Plain Text and stripping specified tags from HTML.

from stripogram import html2text, html2safehtml
  mylumpofdodgyhtml # a lump of dodgy html ;-)
  # Only allow <b>, <a>, <i>, <br>, and <p> tags
  mylumpofcoolcleancollectedhtml = html2safehtml(mylumpofdodgyhtml,valid_tags=("b", "a", "i", "br", "p"))
  # Don't process <img> tags, just strip them out. Use an indent of 4 spaces 
  # and a page that's 80 characters wide.
  mylumpoftext = html2text(mylumpofcoolcleancollectedhtml,ignore_tags=("img",),indent_width=4,page_width=80)

If using Django you can use the built-in function strip_tags:
from django.utils.html import strip_tags

PHP strip_tags

PHP original manual for strip_tags [ show | ]


(PHP 4, PHP 5)

strip_tagsStrip HTML and PHP tags from a string


string strip_tags ( string $str [, string $allowable_tags ] )

This function tries to return a string with all HTML and PHP tags stripped from a given str . It uses the same tag stripping state machine as the fgetss() function.



The input string.


You can use the optional second parameter to specify tags which should not be stripped.

Note: HTML comments and PHP tags are also stripped. This is hardcoded and can not be changed with allowable_tags .

Return Values

Returns the stripped string.


Version Description
5.0.0 strip_tags() is now binary safe
4.3.0 HTML comments are now always stripped
4.0.0 The allowable_tags parameter was added


Example #1 strip_tags() example

'<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';

// Allow <p> and <a>
echo strip_tags($text'<p><a>');

The above example will output:

Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>



Because strip_tags() does not actually validate the HTML, partial, or broken tags can result in the removal of more text/data than expected.


This function does not modify any attributes on the tags that you allow using allowable_tags , including the style and onmouseover attributes that a mischievous user may abuse when posting text that will be shown to other users.

See Also