iOS小知识:HTML字符串与富文本互转

简介: iOS小知识:HTML字符串与富文本互转

引言

应用场景:使用原生视图UILabel显示服务端返回的带有HTML标签的内容

I 、 html转换为富文本

NSString *html = @"<p style='color:green'>博客<span style='color:#e83c36;'><a>https://kunnan.blog.csdn.net/<a/></span><br/>微信公众号:<span style='color:red'>iOS逆向</span><br/>“订阅”一次 ,享受终身服务的快乐。</br><span style='color:red'>专注《iOS应用逆向与安全》</span>(包括iOS基础)</p>";
    NSAttributedString *attStr = [[NSAttributedString alloc] initWithData:[html dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} documentAttributes:nil error:nil];

II、富文本转换为html

- (void)NSAttributedStringtohtmlWith:(NSAttributedString*)attStr{
    NSDictionary *dic = @{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute:@(NSUnicodeStringEncoding)};
    NSData *data = [attStr dataFromRange:NSMakeRange(0, attStr.length) documentAttributes:dic error:nil];
    NSString *str = [[NSString alloc] initWithData:data encoding:NSUnicodeStringEncoding];
    NSLog(@"NSAttributedStringtohtmlWith:%@",str);
    [self gotoAXWebViewControllerWithHtmlstr:str];
}

image.png

III、加载本地HTML文件

1、文章:https://kunnan.blog.csdn.net/article/details/90579369 2、原理:`使用[_webView loadHTMLString:html baseURL:baseURL]; 进行代码加载

NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
        [self loadHTMLString:_HTMLString baseURL:_baseURL];

`

  • 例子
#import <AXWebViewController/AXWebViewController.h>
- (void)gotoAXWebViewControllerWithHtmlstr:(NSString*)html{
    NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
    AXWebViewController *webVC = [[AXWebViewController alloc] initWithHTMLString:html baseURL:baseURL];
    UINavigationController *tmp = [[UINavigationController alloc]initWithRootViewController:webVC];
    webVC.showsToolBar = NO;
    webVC.navigationController.navigationBar.translucent = NO;
    webVC.navigationController.navigationBar.tintColor = [UIColor colorWithRed:0.100f green:0.100f blue:0.100f alpha:0.800f];
    webVC.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0.996f green:0.867f blue:0.522f alpha:1.00f];
        //webVC.navigationType = AXWebViewControllerNavigationToolItem;
//    webVC.showsToolBar = YES;
    [self presentViewController:tmp animated:YES completion:^{
    } ];
}

see also

目录
相关文章
|
3月前
|
JavaScript 前端开发
react字符串转为dom标签,类似于Vue中的v-html
本文介绍了在React中将字符串转换为DOM标签的方法,类似于Vue中的`v-html`指令,通过使用`dangerouslySetInnerHTML`属性实现。
97 0
react字符串转为dom标签,类似于Vue中的v-html
|
3月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
|
5月前
|
JavaScript
js HTML字符串转DOM节点,DOM节点转HTML字符串
js HTML字符串转DOM节点,DOM节点转HTML字符串
40 2
|
6月前
|
JSON PHP 数据格式
php 富文本双引号问题,将双引号变为&quot;html转义入库
php 富文本双引号问题,将双引号变为&quot;html转义入库
65 0
|
7月前
|
JavaScript 搜索推荐 UED
一种将 Vue 组件渲染为 HTML 字符串的技术
【5月更文挑战第8天】Vue 的服务器端渲染(SSR)技术在服务器上将组件渲染为 HTML,提升首屏加载速度和 SEO。优点包括更快的用户体验、更好的搜索引擎优化及减轻客户端负担。然而,SSR也带来服务器压力增大、开发复杂性和额外的构建配置需求。vue-server-renderer 包支持 Vue SSR,但是否采用取决于项目需求和资源。
45 1
|
7月前
|
iOS开发
iOS中如何显示后台返回的带有html标签的富文本字符串
iOS中如何显示后台返回的带有html标签的富文本字符串
63 0
|
7月前
|
移动开发 Android开发 iOS开发
ios标准页面调用HTML5页面和HTML5调用ios的函数
ios标准页面调用HTML5页面和HTML5调用ios的函数
50 0
|
7月前
|
Python
python html(文件/url/html字符串)转pdf
python html(文件/url/html字符串)转pdf
56 0
|
Web App开发 JSON 前端开发
|
11天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。