我需要从URL中删除HTML标记,这是我从服务器的响应中得到的。
我试过遵循代码,但这对我没有帮助。有什么主意吗?我得到的那根绳子
“图像的测试讨论
“
我添加了扩展来检索HTTP字符串,但是我没有得到准确的URL。
extension String {
func removeHTMLTag() -> String {
return self.replacingOccurrences(of: "<[^>]+>", with: "", options: String.CompareOptions.regularExpression, range: nil)
}
}发布于 2020-02-04 06:54:09
使用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发布于 2020-02-04 07:17:42
你可以试试这个。
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
https://stackoverflow.com/questions/60051224
复制相似问题