我正在尝试编写一个函数,以便html元素将保存在html中。我下面的自定义功能无法生成正确的输出。有谁知道为什么?
def escape_html(s):
for char in s:
s.replace('>','%gt;')
s.replace('<', '%lt;')
s.replace('"','%quot;')
s.replace('&', '%amp;')
return s
谢谢大家!
答案 0 :(得分:0)
在python中,字符串对象是引用,它指向的字符串无法更改,因此您应该将s指向另一个字符串,如下所示
PS:替换函数将替换整个字符串
def escape_html(s):
s = s.replace('&','&')
s = s.replace('>','>')
s = s.replace('<','<')
s = s.replace('"','"')
return s
答案 1 :(得分:0)
编写该函数的另一种方法是:
import cgi
def escape_html(s):
return cgi.escape(s, quote = True)