python 如何将字符串(带换行符)转换为HTML?

6ss1mwsb  于 2023-04-10  发布在  Python
关注(0)|答案(5)|浏览(693)

当我打印来自一个网站的字符串(Python)时,它看起来像这样:

"His this 

is 

a sample

String"

它不显示\n中断。这是我在Python解释器中看到的。
我想把它转换成HTML,这样就可以添加换行符了。我到处看了看,没有看到任何库可以开箱即用。
我在想BeautifulSoup,但不是很确定。

cidc1ykv

cidc1ykv1#

如果你有一个从文件中读取的String,你可以把\n替换为<br>,这是html中的一个换行符,方法是:

my_string.replace('\n', '<br>')
rn0zuynd

rn0zuynd2#

您可以使用python replace(...)方法将所有换行符替换为html版本的<br>,并可能将字符串包围在段落标记<p>...</p>中。假设带有文本的变量的名称为text

html = "<p>" + text.replace("\n", "<br>") + "</p>"
kb5ga3dv

kb5ga3dv3#

在中搜索这个答案找到了这个,witch可能更好,因为它编码所有字符,至少对于python 3 Python – Convert HTML Characters To Strings是这样的

# import html
import html

# Create Text
text = 'Γeeks for Γeeks'

# It Converts given text To String
print(html.unescape(text))

# It Converts given text to HTML Entities
print(html.escape(text))
mm5n2pyu

mm5n2pyu4#

如果你想要段落(<p>标签)而不是分隔符(<br>标签),你可以使用正则表达式:

import re

def text_to_html_paragraphs(text):
    # First, replace multiple newlines with a single newline,
    # so you don't get empty paragraphs
    text = re.sub(r'\n\s*\n', '\n', text)

    # Split the text into lines
    lines = text.split('\n')

    # Wrap each line in a <p> tag and join them
    return ''.join(f'<p>{line.strip()}</p>\n' for line in lines)

text = """His this 

is 

a sample

String"""

html_paragraphs = text_to_html_paragraphs(text)
print(html_paragraphs)

结果:

<p>is</p>
<p>a sample</p>
<p>String</p>
lmvvr0a8

lmvvr0a85#

我相信这会有用的

for line in text:
   for char in line:
      if char == "/n":
         text.replace(char, "<br>")

相关问题