Tim*_*mmy 4 html python escaping
我有一个<img src=__string__>但字符串可能包含",我该怎么做才能逃脱它?
例:
__string__ = test".jpg
<img src="test".jpg">
Run Code Online (Sandbox Code Playgroud)
不起作用.
Mac*_*rko 13
在Python 3.2 html中引入了一个新模块,用于从HTML标记中转义保留字符.
它有一个功能html.escape(s, quote=True).如果可选标志的报价是真实的,人物(")和(')被翻译.
用法:
>>> import html
>>> html.escape('x > 2 && x < 7')
'x > 2 && x < 7'
Run Code Online (Sandbox Code Playgroud)
gom*_*mad 11
如果您的值被转义可能包含引号,最好的quoteattr方法是使用该方法:http://docs.python.org/library/xml.sax.utils.html#module-xml.sax.saxutils
这是在cgi.escape()方法的文档下面引用的.
import cgi
s = cgi.escape('test".jpg', True)
Run Code Online (Sandbox Code Playgroud)
http://docs.python.org/library/cgi.html#cgi.escape
请注意,该True标志告诉它转义双引号.如果您还需要转义单引号(如果您是使用单引号括起html属性的少数人之一),请阅读该文档链接中有关xml.sax.saxutils.quoteattr()的说明.后者会做两种报价,但速度大约是后者的三倍:
>>> timeit.Timer( "escape('asdf\"asef', True)", "from cgi import escape").timeit()
1.2772219181060791
>>> timeit.Timer( "quoteattr('asdf\"asef')", "from xml.sax.saxutils import quoteattr").timeit()
3.9785079956054688
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11749 次 |
| 最近记录: |