iOS中webView加载URL需要处理特殊字符

 

今天在项目中遇到webView加载URL时,因为URL中有特殊字符,导致页面无法加载,而且在- (BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType代理方法中获取的request.URL是Null。一般来说我们调用webVIew的时候,只要给webVIew传一个url,在网页里面就可以显示网页信息。但是当我们传的url比较麻烦或者带文字符,带参数的时候我们需要对特殊字符进行转义。我们还可以用遍历、正则等来把特殊字符给替换掉!!

有两种方法,希望可以有所帮助:

一、使用NSString的方法:

1.字符串加百分号转义使用编码 (这个方法会把参数里面的东西转义)
    NSString *str1 = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];    

2.字符串替换百分号转义使用编码 NSString *str1 = [string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

二、使用CFStringRef的方法:

url = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)url, nil, nil, kCFStringEncodingUTF8)); 

转载于:https://www.cnblogs.com/CodingMann/p/5110252.html

你可能感兴趣的:(iOS中webView加载URL需要处理特殊字符)