如何将html代码字符转换为html页面?

问题描述 投票:0回答:1

我需要在页面中显示html代码:

<p><strong>Task:</strong><br>This is test text!</p>

但答案就在文件output.txt中 他像这样向我展示了它:

&lt;p&gt;<p><strong>&lt;strong&gt;Task:&lt;/strong&gt;</strong><br>This is test text!</p>&lt;br&gt;&lt;/p&gt;

如您所见,他出于某种原因重复了不必要的标签:

<p><strong>, </strong><br>, </p>

我的代码写错了什么?

这是我的程序代码:

$ cat main.py
#tag - теги html
#file - переменная файла
#fileread - считывание файла
#replacetags - замена тегов
#addtags - добавление тега p в файле
#tags=["<p>","</p>","<br>","&nbsp;&nbsp;&nbsp;"]
tags=["&lt;p&gt;","&lt;/p&gt;","&lt;br&gt;","&nbsp;&nbsp;&nbsp;","&lt;strong&gt;Task:&lt;/strong &gt;"]
#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")

实际上这就是我应该得到的答案:

&lt;p&gt;&lt;strong&gt;Task:&lt;/strong&gt;&lt;br&gt;This is test text!&lt;/p&gt;
python html
1个回答
0
投票

问题似乎在于您替换代码中 HTML 标签的方式。问题在于如何用 HTML 实体替换标签。具体来说,您将实际的 HTML 标签替换为其相应的 HTML 实体,这会导致标签重复。

这是代码的更正版本:

with open("text.txt") as file:
    fileread = file.read()

replacetags = fileread.replace("<p>", "&lt;p&gt;").replace("</p>", "&lt;/p&gt;").replace("<br>", "&lt;br&gt;").replace("Task:", "&lt;strong&gt;Task:&lt;/strong&gt;")
addtags = replacetags

with open("output.txt", "w") as file:
    file.write(addtags+"\n")
© www.soinside.com 2019 - 2024. All rights reserved.