我正在尝试在几组HTML代码之间标识相似的内容,并省略相似的内容。例如,为我提供了以下两组HTML代码:
//First set
<div class="x-apple-signature"><pre style="font-family: 'SFNSText','Helvetica Neue', Helvetica, sans-serif; font-size: 15px; white-space: pre-wrap; word-wrap: break-word;" data-mce-style="font-family: 'SFNSText','Helvetica Neue', Helvetica, sans-serif; font-size: 15px; white-space: pre-wrap; word-wrap: break-word;">Thanks & Regards,
Tony Stark
Stark Industries</pre></div>
//Second set
<div class="x-apple-signature">Thanks & Regards,<br>Tony Stark<br>Stark Industries</div>
本质上,两组HTML代码在UIWebView
上显示时都打印完全相同的内容,但是使用不同的字体,因此我想省略其中的一组。当加载到webView
中时,它们的写法类似,但换行符写得很好:
Thanks & Regards,
Tony Stark
Stark Industries
我在HTML解析中使用Kanna
,查找HTML的content
,然后检查内容是否相同。不幸的是,像上述情况一样,某些情况仍然会发生。代码和结果如下:
//Check for identical HTML contents
var dictionary = [String: HTMLObject]()
allHtml.forEach { (html) in
let doc = try? HTML(html: html, encoding: .utf8)
if var content = doc?.body?.content {
content = content.trimmingCharacters(in: .whitespacesAndNewlines)
if dictionary[content] == nil {
dictionary[content] = html
} else {
allHtml.removeObject(html)
}
}
}
//Results of the printed content from the above HTML
//First set
Thanks & Regards,\r\nTony Stark\r\nStark Industries
//Second set
Thanks & Regards,Tony StarkStark Industries
我也尝试过doc?.body?.text
,但结果却非常相似。有人有什么建议吗?