如何正确地将HTML转换为字符串?

时间:2013-03-11 22:03:36

标签: iphone html string formatting

我是iphone开发的菜鸟,我正在尝试将html数据转换为字符串格式。目前,我使用stringByConvertingHTMLToPlainText来完成此任务,但它忽略了HTML的格式。我转换的HTML数据有换行符,但stringByConvertingHTMLToPlainText只删除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

修改

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

2 个答案:

答案 0 :(得分:1)

我认为你应该只更换&lt; br /&gt; (并且在旧版html的情况下可能是&lt; br&gt;)具有换行符。 Google是您编程语言中的换行符,并使用字符串替换功能。

答案 1 :(得分:1)

@Prozi是对的。你可以使用

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

执行之前删除html标记。