我需要在页面中显示html代码:
<p><strong>Task:</strong><br>This is test text!</p>
但答案就在文件output.txt中 他像这样向我展示了它:
<p><p><strong><strong>Task:</strong></strong><br>This is test text!</p><br></p>
如您所见,他出于某种原因重复了不必要的标签:
<p><strong>, </strong><br>, </p>
我的代码写错了什么?
这是我的程序代码:
$ cat main.py
#tag - теги html
#file - переменная файла
#fileread - считывание файла
#replacetags - замена тегов
#addtags - добавление тега p в файле
#tags=["<p>","</p>","<br>"," "]
tags=["<p>","</p>","<br>"," ","<strong>Task:</strong >"]
#print(tags[2])
with open("text.txt") as file:
fileread = file.read()
#print(fileread)
replacetags = fileread.replace(" ", tags[3]).replace("\n", tags[2]).replace("Task:", tags[4])
#print(replacetags)
#print(tags[0], replacetags, tags[1])
addtags = tags[0]+replacetags+tags[1]
#print(addtags)
with open("output.txt", "w") as file:
file.write(addtags+"\n")
实际上这就是我应该得到的答案:
<p><strong>Task:</strong><br>This is test text!</p>
问题似乎在于您替换代码中 HTML 标签的方式。问题在于如何用 HTML 实体替换标签。具体来说,您将实际的 HTML 标签替换为其相应的 HTML 实体,这会导致标签重复。
这是代码的更正版本:
with open("text.txt") as file:
fileread = file.read()
replacetags = fileread.replace("<p>", "<p>").replace("</p>", "</p>").replace("<br>", "<br>").replace("Task:", "<strong>Task:</strong>")
addtags = replacetags
with open("output.txt", "w") as file:
file.write(addtags+"\n")