【问题标题】:Adding missing HTML elements using Python使用 Python 添加缺失的 HTML 元素
【发布时间】:2016-12-07 23:31:57
【问题描述】:

如果给我一个带有以下 HTML 标记的字符串

<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>

我将如何在列表项周围添加 &lt;ul&gt; 标记以使 HTML 有效。

我知道诸如 BeautifulSoup 之类的库,但是从查看文档来看,似乎没有任何解决方案。我知道我可以使用正则表达式,但我不是 100% 我会如何实现它,因为 &lt;li&gt; 标记的数量可以是无限的并且可以包含孩子。

有什么想法吗?谢谢。

编辑:

给出的 HTML 不仅是:

<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>

但包含其他标签,上面的那一点只是 HTML 字符串的一部分。字符串也不相同,它基于用户输入,这意味着它可以是任何包含 &lt;li&gt; 而没有正确的 &lt;ul&gt; 元素作为列表项的父元素的内容。

【问题讨论】:

标签: python html beautifulsoup


【解决方案1】:

据我了解,您需要的是这样的:

lis = """
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>"""

ul = '<ul>{}</ul>'.format(lis)

要从 li 元素中删除 \n,您可以使用:

ul = '<ul>{}</ul>'.format(''.join(li.strip('\n') for li in lis))

输出:

>>> ul
'<ul><li>List Item 1</li><li>List Item 2</li><li>List Item 3</li></ul>'

【讨论】:

  • 感谢您的反馈,不幸的是,我认为我不够清楚,我刚刚更新了问题以反映我想要得到的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 2016-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多