如果给我一个包含以下HTML标签的字符串
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>
如何在列表项周围添加<ul>
标记,以便HTML有效。
我知道像BeautifulSoup这样的库,但是从查看文档来看,似乎没有任何解决方案。我知道我可以使用正则表达式,但我不是100%我将如何实现这一点,因为<li>
标签的数量可以是无限的并且可以包含子项。
有什么想法吗?感谢。
修改
给出的HTML不仅仅是:
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>
但包含其他标记,上面的位只是HTML字符串的一个片段。该字符串也不会相同,它基于用户输入,这意味着它可能是包含<li>
而没有正确的<ul>
元素作为列表项的父级的任何内容。< / p>
答案 0 :(得分:0)
根据我的理解,你需要的是这样的东西:
lis = """
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>"""
ul = '<ul>{}</ul>'.format(lis)
要从\n
元素中删除li
,您可以使用:
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>'