【发布时间】:2015-11-10 08:32:32
【问题描述】:
我需要做一些非常快速的-n-dirty 输入清理,我想基本上将所有<, > 转换为<, >。
我想获得与'<script></script>'.replace('<', '&lt;').replace('>', '&gt;') 相同的结果,而不必多次迭代字符串。我知道maketrans 和str.translate(即http://www.tutorialspoint.com/python/string_translate.htm),但这只会从1 个字符转换为另一个字符。换句话说,一个人不能做这样的事情:
inList = '<>'
outList = ['<', '>']
transform = maketrans(inList, outList)
是否有一个builtin 函数可以在一次迭代中完成这种转换?
我想使用builtin 功能而不是外部模块。我已经知道Bleach。
【问题讨论】:
-
为什么不手动迭代?
-
在这种情况下,您似乎真的想特别对 HTML 中的字符进行编码,请查看stackoverflow.com/questions/701704/…
-
查看stackoverflow.com/questions/6116978/… 了解一般的多字符串替换。
标签: python forms validation input sanitization