【发布时间】:2014-01-21 23:29:12
【问题描述】:
我正在尝试实现一个替换以下值的函数:
# > with >
# < with <
# " with "
# & with &
我的函数不断出错。到底有什么问题?
def escape_html(s):
data = list(s)
if ">" in data:
data.replace(">",">")
if "<" in data:
data.replace("<","<")
if '"' in data:
data.replace('"',""")
if "&" in data:
data.replace("&","&")
word = data.join()
return word
print escape_html("<>")
注意:这更像是一个基本的编程问题。我的重点是我的功能不起作用的原因。我不能为这个项目使用外部库。
【问题讨论】:
-
这更多的是编程问题的基础知识,而不是解决问题的最有效方法。我更担心为什么我的代码不起作用。
-
如果这就是您想要替换的全部内容,请按照其他人的建议使用“html escape”。但是,如果要坚持使用这种方法,则应先替换 &,因为在前三种情况下替换时会创建新的 &。