swift 去除html标签,Swift处理HTML标签

当我们需要加载html中的文章内容时候,可以使用WebView、UIITextView来加载。当使用UIITextView时候就会出现原有的html的标签,比如:“”等,这就需要我们进行标签处理。方法如下:

使用UIITextView加载

//处理html标签

do{

let attrStr = try NSAttributedString(data: (内容:String.dataUsingEncoding(NSUnicodeStringEncoding, allowLossyConversion: true)!)!,

options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil)

//自定义的textView

textView.attributedText = attrStr

}catch let error as NSError {

print(error.localizedDescription)

}

那么在OC中使用的方法是:

- (NSString *)flattenHTML:(NSString *)html {

NSScanner *theScanner;

NSString *text = nil;

theScanner = [NSScanner scannerWithString:html];

while ([theScanner isAtEnd] == NO) {

[theScanner scanUpToString:@"

[theScanner scanUpToString:@">" intoString:&text];

// replace the found tag with a space

//(you can filter multi-spaces out later if you wish)

html = [html stringByReplacingOccurrencesOfString: [NSString stringWithFormat:@"%@>", text] withString:@""];

}

return html;

}

使用WebView加载

我们可以使用WebView进行展示。

//定义webView

var _webView : UIWebView?

override func viewDidLoad() {

super.viewDidLoad()

//设置frame

_webView = UIWebView(frame: UIScreen.mainScreen().bounds);

//加载webView

view.addSubview(_webView!)

}

使用自定义富文本

//富文本设置

var attributeString = NSMutableAttributedString(string:"welcome to hangge.com")

//从文本0开始6个字符字体HelveticaNeue-Bold,16号

attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue-Bold", size: 16)!,

range: NSMakeRange(0,6))

//设置字体颜色

attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blueColor(),

range: NSMakeRange(0, 3))

//设置文字背景颜色

attributeString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.greenColor(),

range: NSMakeRange(3,3))

textView.attributedText = attributeString

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值