【问题标题】:How to change attribute in HTML using TFHpple in Swift如何在 Swift 中使用 TFHpple 更改 HTML 中的属性
【发布时间】:2016-03-29 18:21:52
【问题描述】:

我有一个 HTML 字符串,想将其中的元素更改为 img 标记样式为 width = 100% 和 height auto,这样当我将它们传递到 web 视图时,图像可以适合超级视图布局。

HTML

<img alt=\"\" src=\"https://my.domain.com/img/ckeditor/55de838089041.jpg\" style=\"width:700px\" />

斯威夫特

let doc : TFHpple = TFHpple(HTMLData: htmlText.dataUsingEncoding(NSUTF8StringEncoding))
for img: AnyObject in doc.searchWithXPathQuery("//img") {
    let imgElement : TFHppleElement = img as! TFHppleElement
    let attributes : [NSObject : AnyObject] = imgElement.attributes
    XCGLogger.defaultInstance().debug("attributes: \(attributes)")
    for eachElement : (NSObject, AnyObject) in attributes {
        if eachElement.0 == "style" {
            var elementText : String = eachElement.1 as! String
            eachElement.1 = "width:'100%',height:'auto'"
        }
     }
}

但是 eachElement.1 是不可编辑的,我可以使用 TFHpple 1 这样做,还是必须尝试其他方式。

【问题讨论】:

    标签: html css swift tfhpple


    【解决方案1】:

    遇到类似的问题,我编辑了从 HMTL 响应中获得的整个字符串,因此您可以尝试这样的操作:-

        let task = try session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
            guard data != nil else {
                print("no data found: \(error)")
                self.displayServerAlert()
                return
            }
            print("Response: \(response)")
    
            var strData:String = NSString(data: data!, encoding: NSUTF8StringEncoding) as! String
            print("Body: \(strData)")
    
            var replaceStr = strData.stringByReplacingOccurrencesOfString("style=\"width:700px\", withString: "style=\"width:'100%',height:'auto'", options: NSStringCompareOptions.LiteralSearch, range: nil)
    
            print(replaceStr)
            let strtoData = replaceStr.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
    
    
            self.parseData(strtoData!)
    

    parseData 是 fucn,我根据需要发送数据进行解析..!!希望这会有所帮助..!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 2020-01-24
      • 1970-01-01
      相关资源
      最近更新 更多