2013-03-11 3 views
1

Я создаю noob для разработки iphone, и я пытаюсь преобразовать данные html в строковый формат. В настоящее время я использую stringByConvertingHTMLToPlainText, чтобы выполнить это, но он игнорирует форматирование HTML. Данные HTML, которые я конвертирую, имеют разрывы строк, но stringByConvertingHTMLToPlainText удаляет только теги HtML и не форматирует результирующую строку. Любая помощь приветствуется.Как правильно преобразовать HTML в строку?

Мой код:

NSString *temp = [[[stories objectAtIndex: storyIndex] objectForKey: @"summary"]stringByConvertingHTMLToPlainText]; 

HTML данных:

Holiday Inn<br/>Dedham,MA<br/>Sun May 5th 2013-Sun May 5th 2013<br/>Contact: Harry Tong at 603-978-3459<p><sub><i>-- Delivered by <a href="http://feed43.com/">Feed43</a> service</i></sub></p> 

Результирующая строка:

Holiday InnDedham,MASun May 5th 2013-Sun May 5th 2013Contact: Harry Tong at 603-978-3459-- Delivered by "http://feed43.com/"Feed43 service 

мне нужно:

Holiday Inn 
Dedham,MA 
Sun May 5th 2013-Sun May 5th 2013 
Contact: Harry Tong at 603-978-3459 
-- Delivered by "http://feed43.com/"Feed43 service 

EDIT

NSString *html = [[stories objectAtIndex: storyIndex] objectForKey: @"summary"]; 
NSString *text = [html stringByReplacingOccurrencesOfString:@"<br/>" withString:@" \n "]; 
NSString *temp = [text stringByConvertingHTMLToPlainText]; 

ответ

1

Я думаю, вы должны просто заменить < бр/> (и, возможно, < бр > в случае старых HTML) с символом новой строки. Google символ новой строки на языке, который вы программируете, и используйте функцию замены строки.

+0

Спасибо, что ответили. Ваш ответ имеет большой смысл, но по какой-то причине он не работает для меня. Пожалуйста, проверьте мое редактирование –

+0

пропустите третий шаг (* temp = ...) в * тексте у вас уже есть то, что вы хотели – Prozi

1

@Prozi является правильным. Вы можете использовать

NSString *text = [html stringByReplacingOccurrencesOfString:@"<br/>" withString:@"\n"]; 

ли что ПЕРЕД удалить HTML-теги.

+0

Спасибо, что ответили. Ваш ответ имеет большой смысл, но по какой-то причине он не работает для меня. Проверьте мои изменения. –

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