【问题标题】:How to get imageURL out of HTML tag如何从 HTML 标签中获取 imageURL
【发布时间】:2020-02-04 15:17:42
【问题描述】:

我需要从服务器响应中得到的 URL 中去除 HTML 标记。

我尝试了以下代码,但对我没有帮助。有任何想法吗?? 我得到的字符串

“测试图像讨论

我添加了扩展来检索 HTTP 字符串,但我没有得到准确的 URL。

extension String {

       func removeHTMLTag() -> String {

           return self.replacingOccurrences(of: "<[^>]+>", with: "", options: String.CompareOptions.regularExpression, range: nil)

        }
}

【问题讨论】:

  • 请添加您的 HTML 文件以便我们看到。
  • @SamiulIslamSami 我得到以下字符串。 "测试图像讨论

    "

标签: html ios swift string


【解决方案1】:

使用SwiftSoup可以获取imageURL

let doc = try SwiftSoup.parse("<div id=div2><p>How are you?</p><div id=div3><img src=http://example.com/test.png></div></div>");
for element in try doc.select("img").array(){
    try print(element.attr("src"))
}
**Output**
//http://example.com/test.png

【讨论】:

  • 谢谢。在尝试了大量解决方案后,这对我有所帮助
【解决方案2】:

你可以试试这个。

 func removeHTMLTags(for regex: String!, in text: String!) -> [String] {
    do {
        let regex = try NSRegularExpression(pattern: regex, options: [])
        let nsString = text as NSString
        let results = regex.matches(in: text, range: NSMakeRange(0, nsString.length))
        return results.map { nsString.substring(with: $0.range)}
    } catch let error as NSError {
        print("invalid regex: \(error.localizedDescription)")
        return []
    }
}

调用这个函数 -

let text = "test Discussion for images<div><img src=\"http:\\\\45.35.4.250\\MvestUploadContainer\\7e3ba5ba-000b-4dc4-ae6e-a4bc8d59088c.png\"><br></div>"
let url = removeHTMLTags(for: "(http[^\\s]+(jpg|jpeg|png)\\b)", in: String(text))
print(url[0])

输出 - http:\\45.35.4.250\MvestUploadContainer\7e3ba5ba-000b-4dc4-ae6e-a4bc8d59088c.png

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 2017-06-11
    • 1970-01-01
    • 2014-07-05
    • 2011-11-17
    • 2018-02-24
    • 1970-01-01
    相关资源
    最近更新 更多