首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Swift中使用TFHpple更改HTML中的属性

如何在Swift中使用TFHpple更改HTML中的属性
EN

Stack Overflow用户
提问于 2015-12-23 10:28:11
回答 1查看 511关注 0票数 1

我得到了一个HTML,并希望将其中的元素以img标记样式更改为宽度= 100%和高度自动,这样当我将它们传递到web视图中时,图像就可以符合超级视图布局。

代码语言:javascript
复制
<img alt=\"\" src=\"https://my.domain.com/img/ckeditor/55de838089041.jpg\" style=\"width:700px\" />

Swift

代码语言:javascript
复制
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'"
        }
     }
}

但是每个Element.1都是不可编辑的,我可以使用TFHpple 1这样做,或者必须尝试其他方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-19 08:08:50

面对类似的问题,我编辑了从HMTL响应中获得的整个字符串,所以您可以尝试如下所示:-

代码语言:javascript
复制
    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是我根据自己的需要发送数据以进行解析的地方!希望这能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34433589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档