IOS中过滤HTML标签&&WebView的三种常用的使用方法
来源:互联网 发布:java电商高并发视频 编辑:程序博客网 时间:2024/05/16 04:58
- (void)dooo
{
NSString * str=@"<p style=\"text-align: center;\"><img style=\"width:94%;height:auto\" src=\"http://p1.img.cctvpic.com/photoworkspace/contentimg/2014/01/13/2014011318535072073.jpg\" alt=\"AC米兰官方宣布阿莱格里下课\" width=\"500\"/></p><p style=\"text-align: center;\"><span style=\"color: #0000ff;\"><strong>AC米兰官方宣布阿莱格里下课</strong></span></p><p><span style=\"color: #000000;\"> 北京时间1月13日晚6时,意甲AC米兰俱乐部官方宣布主帅阿莱格里下课。昨天的意甲第19轮比赛中,AC米兰客场3比4不敌升班马萨索洛,比赛结束之后就传出了阿莱格里将会被解雇的消息。</span></p><p><span style=\"color: #000000;\"> 米兰的官方公告中写道:“阿莱格里先生和他的助手们将不再担任球队一线队教练的工作,对此我们非常遗憾,感谢阿莱格里和他的团队几年来为俱乐部做出的贡献,祝愿他在未来的工作中继续取得成功。”<span style=\"font-size: 14px;\">此前意大利方面的消息都是在阿莱格里下课后,前米兰球星因扎吉将暂时接手球队,不过米兰官方公告中称球队的训练和比赛任务暂时由助理教练毛罗-塔索蒂负责。</span></span></p><p><span style=\"color: #000000;\"> <span style=\"font-size: 14px;\">阿莱格里在2010年世界杯后上任成为AC米兰队主教练,带队第一个赛季就帮助米兰七年后重夺意甲联赛冠军,随后又率队在北京击败国米夺得意大利超级杯,第二个赛季米兰战绩同样不错,可惜在关键一战中因为裁判的误判失去了一个重要进球,米兰在联赛冠军的争夺中输给了尤文图斯,后面两个赛季米兰阵容人员不整,不过阿莱格里还是率队赢得了上赛季的第三名,从而获得本赛季欧冠参赛资格。新赛季米兰战绩比上赛季还差,主帅阿莱格里终于被解职。</span></span></p>";
// [self flattenHTML:str];
[selfremoveHTML2:str];
}
//法1
- (NSString *)flattenHTML:(NSString *)html {
NSScanner *theScanner;
NSString *text =nil;
theScanner = [NSScannerscannerWithString:html];
while ([theScannerisAtEnd] ==NO) {
// find start of tag
[theScannerscanUpToString:@"<"intoString:NULL] ;
// find end of tag
[theScannerscanUpToString:@">"intoString:&text] ;
// replace the found tag with a space
//(you can filter multi-spaces out later if you wish)
html = [html stringByReplacingOccurrencesOfString:
[NSStringstringWithFormat:@"%@>", text]
withString:@""];
} // while //
NSLog(@"-----===%@",html);
return html;
}
//法2
- (NSString *)removeHTML2:(NSString *)html{
NSArray *components = [htmlcomponentsSeparatedByCharactersInSet:[NSCharacterSetcharacterSetWithCharactersInString:@"<>"]];
NSMutableArray *componentsToKeep = [NSMutableArrayarray];
for (int i =0; i < [componentscount]; i = i + 2) {
[componentsToKeepaddObject:[componentsobjectAtIndex:i]];
}
NSString *plainText = [componentsToKeepcomponentsJoinedByString:@""];
NSLog(@"---%@",plainText);
return plainText;
}
一、使用UIWebView 将web content 嵌入到应用上。
API提供了三种方法:
- - (void)loadRequest:(NSURLRequest *)request;
- - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;
- - (void)loadData:(NSData *)data MIMEType:(NSString *)
- MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;
1、直接给出url地址即可将web content载入。
- NSString *path = @"http://theo2life.com";
- NSURL *url = [[NSURL alloc] initWithString:path];
- [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
2、将本地html文件内容嵌入webView
- NSString *resourcePath = [ [NSBundle mainBundle] resourcePath];
- NSString *filePath = [resourcePath stringByAppendingPathComponent:@"test.html"];
- NSString *htmlstring =[[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
- [self.webView loadHTMLString:htmlstring baseURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]];
如果不从html文件载入你也可以这样:
- NSString *HTMLData = @"<img src=\"test2.png\" />ddd";
- [self.webView loadHTMLString:HTMLData baseURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]];
- baseURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]
这段指出HTMLData所引用的其他文件资源的基本路径,如果baseURL:nil图片信息将不会显示出来~
3、同2,更详细的给出了web content的编码方式。
二、其他操作:
如果载入的web布局大过ipad尺寸发现超出的部分会是空白,则设置webView.scalesPageToFit = YES;让web content布局适应webView。
- IOS中过滤HTML标签&&WebView的三种常用的使用方法
- IOS中过滤HTML标签
- IOS中过滤HTML标签
- PHP过滤HTML标签的三种方法
- ASP.NET过滤html标签的几种常用方法
- iOS字符串NSString 过滤HTML标签的两种方法
- iOS中webView的三种用法
- java 中过滤文本的HTML标签
- html中常用的标签
- html中常用的标签-超链接标签
- html中常用的标签-表格标签
- html中常用的标签-表单标签
- IOS过滤Html标签
- iOS 过滤html标签
- .NET中过滤TextBox中输入的html标签
- Asp.Net中过滤所有的Html标签
- 网页中常用标签的编码HTML
- HTML中常用的标签用法
- 随机数
- a的样式设置css
- 关于push的使用
- zookeeper命令行(zkCli.sh&zkServer.sh)使用及四字命令
- JPA一对多单向关联
- IOS中过滤HTML标签&&WebView的三种常用的使用方法
- 安卓多渠道打包的意义理解
- 数据结构-树转换为二叉树、森林转换为二叉树
- SpringMVC与Freemark整合,多视图完美展示详细完美解决
- 图标尺寸
- Image类(Leap::Image)和ImageList类(Leap::ImageList)
- html窗口与其iframe子窗口之间的方法操作
- 接口设计原则
- 软件测试中遇到的常见问题及沟通方法