当你在帖子中分享网址时,我想从网址中读取图片并在UIImageView
中像Facebook或Twitter一样显示。
据我所知,我需要阅读元标记<meta property="og:image" content="" />
,但我在iOS中找不到任何方法。
我想知道是否有办法,任何示例代码都将受到赞赏。
感谢您的回答。
答案 0 :(得分:0)
我使用了Fizu和SWXMLHash。 Fizu获取HTML文档的头部,而SWXMLHash提取og:image的元标记。
import UIKit
import Fuzi
import SWXMLHash
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
guard let url = NSURL(string: "http://www.foxnews.com/entertainment/2016/04/25/megyn-kelly-will-interview-donald-trump-on-fox-tv-special.html") else {
print("Invalid URL!")
return
}
guard let html = NSData(contentsOfURL: url) else {
print("No data returned!")
return
}
guard let htmlString = String(data: html, encoding: NSUTF8StringEncoding) else {
print ("Invalid data!")
return
}
do {
let doc = try HTMLDocument(string: htmlString, encoding: NSUTF8StringEncoding)
print(doc.head) // gets <head> element
guard let stringValue = doc.head?.description else {
print("no string")
return
}
let xml = SWXMLHash.parse(stringValue)
let imageURL = try xml["head"]["meta"].withAttr("property", "og:image").element?.attributes["content"]
print(imageURL)
} catch let error {
print(error)
}
}
}