Мне дан следующий HTML-код, и мне нужно разобрать его в обычный текст.Я пытался использовать HTML-парсеры, такие как SwiftSoup и Kanna, но оба дают мне несколько не совсем идеальные результаты, то есть строки разрыва не сохраняются должным образом.
//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-код, который я получу, будет включать в себя множество различных структур, поэтому мне придется обратиться к нему в общем.Любые советы, спасибо.