Staging
v0.8.1
https://github.com/python/cpython
Raw File
Tip revision: 44719a771767b43cc0ee1d50c896179c8722a7d7 authored by Larry Hastings on 28 September 2013, 22:51:00 UTC
Version bump to 3.4.0a3.
Tip revision: 44719a7
__init__.py
"""
General functions for HTML manipulation.
"""

# NB: this is a candidate for a bytes/string polymorphic interface

def escape(s, quote=True):
    """
    Replace special characters "&", "<" and ">" to HTML-safe sequences.
    If the optional flag quote is true (the default), the quotation mark
    characters, both double quote (") and single quote (') characters are also
    translated.
    """
    s = s.replace("&", "&amp;") # Must be done first!
    s = s.replace("<", "&lt;")
    s = s.replace(">", "&gt;")
    if quote:
        s = s.replace('"', "&quot;")
        s = s.replace('\'', "&#x27;")
    return s
back to top