Изменить: только что увидел, что вы узнали ответ ... sheeeiiitttt
Я буквально только что это узнал! Для этого вам даже не нужно отображать его в UIWebView. (Но когда вы его используете, вы можете просто получить URL-адрес текущей страницы)
В любом случае, вот код и некоторое (слабое) объяснение:
//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];
Итак, у нас есть HTML-код. Как получить заголовок? Что ж, в каждом документе на основе html заголовок обозначается с помощью This Is the Title. Так что, вероятно, проще всего найти в этой строке htmlCode и для, и подстроку, чтобы мы получили материал между ними.
//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
И это действительно так! Итак, в основном, чтобы объяснить все махинации, происходящие в docTitle, если бы мы создали диапазон, просто сказав NSMakeRange (startRange.location, endRange.location), мы бы получили заголовок И текст startString (что есть), потому что местоположение находится на первый символ строки. Итак, чтобы компенсировать это, мы просто добавили длину строки
Теперь имейте в виду, что этот код не тестируется ... если есть какие-либо проблемы, это может быть орфографическая ошибка или то, что я не добавил / не добавил указатель, когда я не должен был этого делать.
Если заголовок немного странный и не совсем правильный, попробуйте возиться с NSMakeRange - я имею в виду, как добавить / вычесть разные длины / местоположения строк - все, что кажется логичным.
Если у вас есть вопросы или проблемы, не стесняйтесь спрашивать. Это мой первый ответ на этом сайте, извините, если он немного неорганизован
person
user3016226
schedule
21.11.2013