如何检测字符串是否包含 html(可以是 html4、html5,只是文本中的部分 html)?我不需要 HTML 版本,而是字符串是否只是文本或包含 html。文本通常是多行的,也有空行
更新:
示例输入:
HTML:
<head><title>I'm title</title></head>
Hello, <b>world</b>
非 HTML:
<ht fldf d><
<html><head> head <body></body> html
原文由 static 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 HTML 解析器,例如
BeautifulSoup
。请注意,它确实尽力解析 HTML,甚至是损坏的 HTML,根据 底层解析器 的不同,它可能非常宽松也可能不太宽松:这基本上是试图在字符串中找到任何 html 元素。如果找到 - 结果是
True
。另一个带有 HTML 片段的例子:
或者,您可以使用
lxml.html
: