Подтвердить что ты не робот

Преобразование форматированной текстовой строки HTML в части NSString

Я хочу декодировать HTML-строку и сохранить ее в NSString.

следующая строка html для одного из ответов от google direction api.

teststring is Turn <b>right</b> onto <b>Kennington Park Rd/A3</b><div style="font-size:0.9em">Continue to follow A3</div><div style="font-size:0.9em">Entering toll zone in 1.7&nbsp;km at Newington Causeway/A3</div><div style="font-size:0.9em">Go through 2 roundabouts</div>

Я хочу сохранить эту строку html в Array из 4 разных NSStrings со следующими 4 NSStrings (удаление всей информации для цвета размера)

Turn right onto Kennington Park Rd/A3
Continue to follow A3
Entering toll zone in 1.7 km at Newington Causeway/A3
Go through 2 roundabouts

Я использовал следующий метод для преобразования html-строки в обычный текст. (html_response - ответ от сервера, а stringByConvertingHTMLToPlainText - это метод, определенный в файле пользовательского класса)

testString = (NSString*) [html_response stringByConvertingHTMLToPlainText];
NSLog(@"%@",testString);

но он преобразует целую строку, а не разбивает ее по частям. вывод на консоли

Turn right onto Kennington Park Rd/A3Continue to follow A3 Entering toll zone in 1.7 km at Newington Causeway/A3 Go through 2 roundabouts

Так что мне нужно написать собственный метод для этого? Любая помощь будет принята с благодарностью.

4b9b3361

Ответ 1

Там очень хороший NSString category, который вы можете использовать, это часть проекта MWFeedParser. Более конкретно, вы ищете файл NSString+HTML.

Категория NSString + HTML добавляет следующие методы в класс NSString,

- (NSString *)stringByStrippingTags;
- (NSString *)stringWithNewLinesAsBRs;
- (NSString *)stringByRemovingNewLinesAndWhitespace;
- (NSString *)stringByDecodingHTMLEntities;
- (NSString *)stringByEncodingHTMLEntities;

Затем вы можете попробовать что-то вроде:

NSString *summary = [[[htmlString stringByStrippingTags] stringByRemovingNewLinesAndWhitespace] stringByDecodingHTMLEntities];

Надеюсь, это поможет!, удачи:)