diff --git a/django/utils/html.py b/django/utils/html.py index a3de585707..79488fc473 100644 --- a/django/utils/html.py +++ b/django/utils/html.py @@ -161,15 +161,15 @@ def _strip_once(value): def strip_tags(value): """Returns the given HTML with all tags stripped.""" - while True: - if not ('<' in value or '>' in value): - return value + # Note: in typical case this loop executes _strip_once once. Loop condition + # is redundant, but helps to reduce number of executions of _strip_once. + while '<' in value and '>' in value: new_value = _strip_once(value) if new_value == value: # _strip_once was not able to detect more tags - return value - else: - value = new_value + break + value = new_value + return value strip_tags = allow_lazy(strip_tags)