| """ |
| 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("&", "&") # Must be done first! |
| s = s.replace("<", "<") |
| s = s.replace(">", ">") |
| if quote: |
| s = s.replace('"', """) |
| s = s.replace('\'', "'") |
| return s |