loadHTMLString 不出图片,特殊字符

现象:UIWebView 加载内容用三个方法,其中 loadHTMLString 用来加载字符或者文本内容。当内容来自 json 数据时,特殊字符比如“<”、“>”、" “ "、" ” "等会被编码,一段 img HTML标签(<img src="http://pinglun.fx678.com/data/attachment/forum/201511/03/101036dp84jaaca7858ej4.jpg">)会被编码成“<img src='http://pinglun.fx678.com/data/attachment/forum/201511/03/101036dp84jaaca7858ej4.jpg'

/></align>”,此种情况导致 UIWebView 识别不了 这些 HTML 便签,会被原封不动的输出来。

解决方案:将特殊字符替换了,图片自适应

- (NSString *)htmlEntityDecode:(NSString *)string
{

//将特殊字符替换了 

  string = [string stringByReplacingOccurrencesOfString:@"&quot;" withString:@"\""];
    string = [string stringByReplacingOccurrencesOfString:@"&apos;" withString:@"'"];
    string = [string stringByReplacingOccurrencesOfString:@"&lt;" withString:@"<"];
    string = [string stringByReplacingOccurrencesOfString:@"&gt;" withString:@">"];
    string = [string stringByReplacingOccurrencesOfString:@"&amp;" withString:@"&"];

// 图片自适应
   string = [NSString stringWithFormat:@"<html> \n"
                       "<head> \n"
                       "<style type=\"text/css\"> \n"

                       "</style> \n"

              "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">"


                       "</head> \n"
                       "<body>"
                       "<script type='text/javascript'>"
                       "window.onload = function(){\n"
                       "var $img = document.getElementsByTagName('img');\n"
                       "for(var p in  $img){\n"
                       " $img[p].style.width = '100%%';\n"
                       "$img[p].style.height ='auto'\n"
                       "}\n"
                       "}"
                       "</script>%@"
                       "</body>"
                       "</html>",string];
    return string;
}

 NSString *str1 = [self htmlEntityDecode:self.dataStr];
    
 [webView loadHTMLString:str1 baseURL:[NSURL URLWithString:kdanye]];

就可以啦

参考链接:

http://blog.csdn.net/shane_ying/article/details/51725351

http://blog.csdn.net/wenmingzheng/article/details/50493658?utm_source=itdadao&utm_medium=referral



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值