iOS web網頁獲取標題和文字內容
①拿到網頁內容,很簡單一句程式碼
NSString *htmlString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"你的完整URL"] encoding:NSUTF8StringEncoding error:nil];
②正則去除網路標籤,一個方法
- (NSString *)getZZwithString:(NSString *)string{
NSRegularExpression *regularExpretion=[NSRegularExpression regularExpressionWithPattern:@"<[^>]*>|\n" options:0 error:nil];
string = [regularExpretion stringByReplacingMatchesInString:string options:NSMatchingReportProgress range:NSMakeRange(0, string.length) withTemplate:@""];
return string;
}
③最後
NSString *contentStr = [self getZZwithString:htmlString];
contentStr就是我要用於顯示的文字了.此方法拿到的文字是url對應網頁的文字,所以根據需求自由擷取長短.
總結:以上主要是在不需要載入網頁的情況下使用的,方便快捷.如果本頁面本來就有webView,那就可以通過js程式碼來獲取相應的內容:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
UIWebView *web = webView;
//獲取所有的html
NSString *allHtml = @"document.documentElement.innerHTML";
//獲取網頁title
NSString *htmlTitle = @"document.title";
//獲取網頁的一個值
NSString *htmlNum = @"document.getElementById('title').innerText";
//獲取到得網頁內容
NSString *allHtmlInfo = [web stringByEvaluatingJavaScriptFromString:allHtml];
NSLog(@"%@",allHtmlInfo);
NSString *titleHtmlInfo = [web stringByEvaluatingJavaScriptFromString:htmlTitle];
NSLog(@"%@",titleHtmlInfo);
NSString *numHtmlInfo = [web stringByEvaluatingJavaScriptFromString:htmlNum];
NSLog(@"%@",numHtmlInfo);
}