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

目录
相关文章
|
12月前
|
JavaScript 前端开发
react字符串转为dom标签,类似于Vue中的v-html
本文介绍了在React中将字符串转换为DOM标签的方法,类似于Vue中的`v-html`指令,通过使用`dangerouslySetInnerHTML`属性实现。
347 0
react字符串转为dom标签,类似于Vue中的v-html
|
12月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
|
JavaScript
js HTML字符串转DOM节点,DOM节点转HTML字符串
js HTML字符串转DOM节点,DOM节点转HTML字符串
105 2
|
JavaScript 搜索推荐 UED
一种将 Vue 组件渲染为 HTML 字符串的技术
【5月更文挑战第8天】Vue 的服务器端渲染(SSR)技术在服务器上将组件渲染为 HTML,提升首屏加载速度和 SEO。优点包括更快的用户体验、更好的搜索引擎优化及减轻客户端负担。然而,SSR也带来服务器压力增大、开发复杂性和额外的构建配置需求。vue-server-renderer 包支持 Vue SSR,但是否采用取决于项目需求和资源。
114 1
|
JSON PHP 数据格式
php 富文本双引号问题,将双引号变为&quot;html转义入库
php 富文本双引号问题,将双引号变为&quot;html转义入库
142 0
|
iOS开发
iOS中如何显示后台返回的带有html标签的富文本字符串
iOS中如何显示后台返回的带有html标签的富文本字符串
131 0
|
移动开发 Android开发 iOS开发
ios标准页面调用HTML5页面和HTML5调用ios的函数
ios标准页面调用HTML5页面和HTML5调用ios的函数
132 0
|
Python
python html(文件/url/html字符串)转pdf
python html(文件/url/html字符串)转pdf
125 0
|
3月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
3月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。