2014-02-16 3 views
0

Я извлек исходный код с веб-сайта, но я хотел бы отобразить строки из трех URL-адресов. Мне удалось снять код, поэтому мне нужны только URL-адреса. Как я могу получить три строки в массиве. Посмотрите URL как это: <a href=#">Example</a>Получение нескольких тегов из исходного кода html в Objective-C

, где мне нужно, чтобы извлечь строку: «пример»

Я попытался NSScanner, но без удачи. Совет

+1

Кажется, что-то пошло не так, отправив пример URL-адресов. – Volker

+0

Используйте NSXMLParser для анализа документа или WebKit для анализа DOM. – uchuugaka

ответ

0

Не самый умный способ, но вы можете получить первый подход>, а затем первый < оттуда. Все со стандартными NSString методами типа rangeOfString: и такими.

0

Этот код с NSScanner должен дать вам удачи :)

-(NSMutableArray *)yourStringArrayWithHTMLSourceString:(NSString *)html { 
    NSString *from = @"<a href=\""; 
    NSString *to = @"</a>"; 
    NSMutableArray *array = [[NSMutableArray alloc]init]; 

    NSScanner* scanner = [NSScanner scannerWithString:html]; 

    for(int x=0;x<3;x++) {//You said only 3 strings 
     NSString *tempString; 

     [scanner scanUpToString:from intoString:nil]; 
     [scanner scanString:from intoString:nil]; 
     [scanner scanUpToString:to intoString:&tempString]; 

     NSString *str = [tempString substringFromIndex:[tempString rangeOfString:@"\">"].location+2]; 

     [array addObject:str]; 
    } 
    return array; 
} 

использование:

, например:

NSString *html = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://facebook.com"] encoding:NSUTF8StringEncoding error:nil]; 

NSLog(@"%@",[self yourStringArrayWithHTMLSourceString:html]);//will return NSMutableArray 

Вот как конвертировать NSMutableArray в NSArray, если бы как к этому:

NSArray *array = [NSArray arrayWithArray:mutableArray]; 
+0

Если это вам помогло, пожалуйста, проголосуйте и примите этот ответ :) –

Смежные вопросы