Chỉnh sửa: chỉ cần thấy bạn tìm ra câu trả lời ... sheeeiiitttt
Tôi thực sự chỉ học được điều này! Để làm điều này, bạn thậm chí không cần phải hiển thị nó trong UIWebView. (Nhưng khi bạn đang sử dụng nó, bạn chỉ có thể lấy URL của trang hiện tại)
Dù sao, đây là mã và một số giải thích (yếu):
//create a URL which for the site you want to get the info from.. just replace google with whatever you want
NSURL *currentURL = [NSURL URLWithString:@"http://www.google.com"];
//for any exceptions/errors
NSError *error;
//converts the url html to a string
NSString *htmlCode = [NSString stringWithContentsOfURL:currentURL encoding:NSASCIIStringEncoding error:&error];
Vì vậy, chúng tôi có mã HTML, bây giờ làm thế nào để chúng tôi có được tiêu đề? Chà, trong mọi tài liệu dựa trên html, tiêu đề được báo hiệu bởi Đây là Tiêu đề Vì vậy, có lẽ điều dễ nhất là tìm kiếm chuỗi htmlCode đó, và cho, và chuỗi con nó để chúng ta có được thứ ở giữa.
//so let's create two strings that are our starting and ending signs
NSString *startPoint = @"<title>";
NSString *endPoint = @"</title>";
//now in substringing in obj-c they're mostly based off of ranges, so we need to make some ranges
NSRange startRange = [htmlCode rangeOfString:startPoint];
NSRange endRange = [htmlCode rangeOfString:endPoint];
//so what this is doing is it is finding the location in the html code and turning it
//into two ints: the location and the length of the string
//once we have this, we can do the substringing!
//so just for easiness, let's make another string to have the title in
NSString *docTitle = [htmlString substringWithRange:NSMakeRange(startRange.location + startRange.length, endRange.location)];
NSLog(@"%@", docTitle);
//just to print it out and see it's right
Và đó thực sự là nó! Vì vậy, về cơ bản để giải thích tất cả các shenanigans đang diễn ra trong docTitle, nếu chúng tôi tạo một phạm vi chỉ bằng cách nói NSMakeRange (startRange.location, endRange.location), chúng tôi sẽ nhận được tiêu đề VÀ văn bản của startString (đó là) bởi vì vị trí là bởi ký tự đầu tiên của chuỗi. Vì vậy, để bù lại, chúng tôi chỉ cần thêm độ dài của chuỗi
Bây giờ hãy nhớ rằng mã này không được kiểm tra .. nếu có bất kỳ vấn đề nào thì đó có thể là lỗi chính tả hoặc tôi đã không / đã thêm một con trỏ khi tôi không nên sử dụng.
Nếu tiêu đề hơi kỳ lạ và không hoàn toàn đúng, hãy thử làm rối tung với NSMakeRange-- Tôi có nghĩa là thêm / bớt các độ dài / vị trí khác nhau của chuỗi --- bất cứ điều gì có vẻ hợp lý.
Nếu bạn có bất kỳ câu hỏi hoặc có bất kỳ vấn đề, xin vui lòng hỏi. Đây là câu trả lời đầu tiên của tôi trên trang web này rất xin lỗi nếu nó hơi vô tổ chức