在WKWebView中加载单个HTML元素

在WKWebView中加载单个HTML元素,html,ios,swift,Html,Ios,Swift,我可以从URL获取HTML并将其加载到WKWebView中,但我只想从HTML中加载单个元素。在本例中,该元素是一个副词,。有一个旁白包含了我想要展示的所有内容。从下载的HTML代码中提取元素很容易: guard let html = getHTML() else { return } let regex = try! NSRegularExpression(pattern: "<aside class=\"col-sm-4 col-md-3 col-lg

我可以从URL获取HTML并将其加载到WKWebView中,但我只想从HTML中加载单个元素。在本例中,该元素是一个副词,
。有一个旁白包含了我想要展示的所有内容。

从下载的HTML代码中提取元素很容易:

    guard let html = getHTML()
        else { return }

    let regex = try! NSRegularExpression(pattern: "<aside class=\"col-sm-4 col-md-3 col-lg-3 sidebar\">([\\s\\S]*)</aside>")
    let match = regex
        .matches(in: html, range: NSRange(html.startIndex..., in: html))
        .map {
            html.substring(with: Range($0.range, in: html)!)
    }

    self.webView.loadHTMLString(match.first!, baseURL: nil)
guard let html=getHTML()
else{return}
让regex=试试!NSRegularExpression(模式:([\\s\\s]*))
让match=regex
.matches(in:html,范围:NSRange(html.startIndex…,in:html))
.地图{
子字符串(带:Range($0.Range,in:html)!)
}
self.webView.loadHTMLString(match.first!,baseURL:nil)

问题是CSS/JS不会被捕获。另一种解决方案是注入Javascript并隐藏除
之外的所有元素,从下载的HTML代码中提取元素很容易:

    guard let html = getHTML()
        else { return }

    let regex = try! NSRegularExpression(pattern: "<aside class=\"col-sm-4 col-md-3 col-lg-3 sidebar\">([\\s\\S]*)</aside>")
    let match = regex
        .matches(in: html, range: NSRange(html.startIndex..., in: html))
        .map {
            html.substring(with: Range($0.range, in: html)!)
    }

    self.webView.loadHTMLString(match.first!, baseURL: nil)
guard let html=getHTML()
else{return}
让regex=试试!NSRegularExpression(模式:([\\s\\s]*))
让match=regex
.matches(in:html,范围:NSRange(html.startIndex…,in:html))
.地图{
子字符串(带:Range($0.Range,in:html)!)
}
self.webView.loadHTMLString(match.first!,baseURL:nil)

问题是CSS/JS不会被捕获。另一个解决方案是注入Javascript并隐藏每个元素,除了

链接似乎不起作用。还有,一个“旁白”,你的具体问题是什么?这个链接对我有用。HTML中的旁白是。我只想显示HTML中特定元素的内容。链接在这里工作正常。您的问题是如何从DOM中提取元素?首先,您需要使用HTML解析器(或正则表达式),然后使用
WKWebView
@nathan是的,我想从DOM中提取一个元素并将其加载到WKWebView中。问题是保留已定义的样式。提取元素很容易。链接似乎不起作用。还有,一个“旁白”,你的具体问题是什么?这个链接对我有用。HTML中的旁白是。我只想显示HTML中特定元素的内容。链接在这里工作正常。您的问题是如何从DOM中提取元素?首先,您需要使用HTML解析器(或正则表达式),然后使用
WKWebView
@nathan是的,我想从DOM中提取一个元素并将其加载到WKWebView中。问题是保留已定义的样式。提取元素很容易。仍然可以挽救生命!:DStill拯救生命!:D