作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
中的 a、li 等标签
我目前正在使用 Hpple 来解析 HTML,如下所示:
TFHpple *htmlParser = [TFHpple hppleWithHTMLData:[currentString dataUsingEncoding:NSUTF8StringEncoding]];
NSString *paragraphsXpathQuery = @"//p//text()";
NSArray *paragraphNodes = [htmlParser searchWithXPathQuery:paragraphsXpathQuery];
if ([paragraphNodes count] > 0) {
NSMutableArray *tempArray = [NSMutableArray array];
for (TFHppleElement *element in paragraphNodes) {
[tempArray addObject:[element content]];
}
article.paragraphs = tempArray;
}
这样我得到了一个段落数组,我可以使用 NSString *result = [myArray componentsJoinedByString:@"\n\n"];
将它编译成一个文本主体,其中包含一行休息。
但是,如果 html 包含标签,它们将被解释为单独的实体并且会自行换行,所以在一天结束时从这样的一行开始:
<p>I went to the <a href="blablabla.html">shop</a> to get some milk!</a></p>
<p>It was awesome.</p>
我明白了:
I went to the
shop
to get some milk!
It was awesome!
当然我想得到这个(忽略 p
标签内的其他标签):
I went to the shop to get some milk!
It was awesome!
你能帮帮我吗?
最佳答案
NSString *HTMLTags = @"<[^>]*>"; //regex to remove any html tag
NSString *htmlString = @"<html>bla bla</html>";
NSString *stringWithoutHTML = [hstmString stringByReplacingOccurrencesOfRegex:myregex withString:@""];
不要忘记在您的代码中包含这个:#import "RegexKitLite.h"这里是下载这个 API 的链接:http://regexkit.sourceforge.net/#Downloads
关于objective-c - iOS:Html 解析 - 如何忽略 <p> 中的 a、li 等标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12424920/
我是一名优秀的程序员,十分优秀!