Мне нужно сделать очень быстрый n-грязный входной дезинфекции, и я хотел бы в основном преобразовать все <, >
в <, >
.Python Input Sanitization
Я хотел бы достичь тех же результатов, что и '<script></script>'.replace('<', '<').replace('>', '>')
, не перебирая строку несколько раз. Я знаю о maketrans
в сочетании с str.translate
(то есть http://www.tutorialspoint.com/python/string_translate.htm), но это только преобразует от 1 символа в другой символ. Другими словами, никто не может сделать что-то вроде:
inList = '<>'
outList = ['<', '>']
transform = maketrans(inList, outList)
Есть builtin
функция, которая может сделать это преобразование в одной итерации?
Я хотел бы использовать возможности builtin
в отличие от внешних модулей. Я уже знаю о Bleach
.
Почему не просто перебирать вручную? – Kevin
В этом случае вам кажется, что вы действительно хотите кодировать символы в HTML, пожалуйста, проверьте http://stackoverflow.com/questions/701704/convert-html-entities-to-unicode-and-vice-versa – Nicolas78
См. Https://stackoverflow.com/questions/6116978/python-replace-multiple-strings для замены нескольких строк в целом. – augurar