我正在尝试解决从字符串中删除 HTML 标记的问题。我意识到正则表达式是一个更好的解决方案,但我想弄清楚这里出了什么问题。
这个想法是假设我们使用'tag'监控标签中的情况,通过比较每个字符的值来修改它的值。
问题是,标签的值永远不会改变:
def remove_tag(s):
tag = True
for c in s:
print "c = %s" % c
if (c == '<'):
print 'start_tag'
tag == True
print tag
elif (c == '>'):
print 'end tag'
tag == False
print tag
跑步:
remove_tag("<h1>Title</h1>")
产生:
c = <
start_tag
True
c = h
c = 1
c = >
end tag
True
c = T
c = i
c = t
c = l
c = e
c = <
start_tag
True
c = /
c = h
c = 1
c = >
end tag
True
None
我对为什么打印“结束标签”但没有将“假”值分配给标签感到困惑。