2016-11-19 10 views
0

swift 2.2のいくつかのサイトで、htmlソースから画像を表示するにはどうすればよいですか?Swift:htmlソースから画像を表示する方法

実際、私はJSONやXMLを持っていません。

重要なことは、正規表現を使用する必要があることです。

私はこれを試してみました:このサンプルでは

if htmlContent != nil 
{ 
    let htmlContent = (item?.htmlContent)! as NSString 
    var imageSource = "" 
    let rangeOfString = NSMakeRange(0, htmlContent.length) 
    let regex = try! NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: [.CaseInsensitive]) 
    if htmlContent.length > 0 
    { 
     let match = regex.firstMatchInString(htmlContent as String, options: [.WithTransparentBounds], range: rangeOfString) 
     if match != nil 
     { 
      let imageURL = htmlContent.substringWithRange(match!.rangeAtIndex(2)) as NSString 
      print(imageURL) 
      if NSString(string: imageURL.lowercaseString).rangeOfString("feedBurner").location == NSNotFound 
      { 
       imageSource = imageURL as String 
      } 
     } 
    } 

    if imageSource != "" 
    { 
     imgHTMLLoader.setImageWithURL(NSURL(fileURLWithPath: imageSource), placeholderImage: UIImage(named: "placeholder")) 
     print("placeholderImage is not! nil") 
    } 
    else 
    { 
     imgHTMLLoader.image = UIImage(named: "placeholder") 
     print("placeholderImage is nil") 
    } 

} 

(ライブラリ)... htmlContentは常にnilです。

このサンプルは、SwiftSoupを使用して...

おかげ

+0

はStackOverflowのへようこそ!あなたはあなたがまだ試したことを投稿できますか? [最小限の完全で検証可能な例]を提供してください(http://stackoverflow.com/help/mcve)。 – FelixSFD

+0

あなたは[UIWebView](https://developer.apple.com/reference/uikit/uiwebview)を試しましたか? –

+0

いいえ...私のアプリケーションのためにこの作品ですか? –

答えて

0

を "ヘルパーライブラリ" を使用しますが、それは仕事をdosn'tとSWIF 3

let doc = try SwiftSoup.parse("<div id=div1><p>Hello</p><p>Another <b>element</b></p><div id=div2><img src=foo.png></div></div>"); 
for element in try doc.select("img").array(){ 
    try print(element.attr("src")) 
} 
//foo.png 
関連する問題