为我提供了以下HTML代码,需要将其解析为纯文本。我曾尝试使用诸如SwiftSoup和Kanna之类的HTML解析器,但是两者都给了我一些而不是那么理想的结果,即,折线没有正确保存。
//HTML that needs to be parsed
<html>
<head></head>
<body>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div>
<a href="https://www.google.com">https://www.google.com</a>
<br>
</div>
<div dir="ltr">
<br clear="all">
<div>
<div dir="ltr" class="gmail_signature">
<div dir="ltr">
<font><font><font><font>Yours Sincerely</font></font></font></font>
<div>
<font><font><font><font>Tony Stark</font></font></font></font>
</div>
<div>
<font><font><font><font>CEO, Stark Industries</font></font></font></font>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
//HTML Parsers
//SwiftSoup
do {
let doc = try SwiftSoup.parse(html2)
print(try doc.text())
} catch let error {
print(error.localizedDescription)
}
//Kanna
let doc = try? HTML(html: html2, encoding: .utf8)
print(doc?.body?.text ?? "")
//Results
//SwiftSoup
https://www.google.com Yours Sincerely Tony Stark CEO, Stark Industries
//Kanna
https://www.google.comYours SincerelyTony StarkCEO, Stark Industries
理想的结果应该是https://www.google.com\n\nYours Sincerely\nTony Stark\nCEO, Stark Industries
之类的,以便看起来像这样:
https://www.google.com
Yours Sincerely
Tony Stark
CEO, Stark Industries
有人可以替代吗?请注意,我收到的HTML将包含许多不同的结构,因此我将不得不对其进行一般性处理。任何建议,谢谢。