gpt4 book ai didi

html - 解析 JSON 中的 标签 - iOS

转载 作者:行者123 更新时间:2023-11-29 02:00:20 26 4
gpt4 key购买 nike

我有一个下载 JSON feed 的 iOS 应用程序。除了剩下的一个元素(即图像)之外,我已经成功地解析了所有内容。

我正在下载的 JSON feed 来自在线 PHP 脚本,该脚本将某些 RSS feed 转换为 JSON。那么为什么会有 HTML包含图像的 JSON feed 元素之一中的图像标记。

我使用以下代码来访问标题、日期、链接 URL 等内容...并且效果很好:

NSArray *titles = [[[[data_dict objectForKey:@"rss"] valueForKey:@"channel"] valueForKey:@"item"] valueForKey:@"title"];

正如您从上面的代码中看到的,标题存储在名为“title”的 JSON 标记中。非常容易解析。图片存储在名为“描述”的标签中。

此标记如何还包含文本和图像 URL。那么我该如何解析 <img src>标签?

这是 JSON 描述标签之一:

enter image description here

如何解析数组中的图像链接?

感谢您抽出时间,丹

最佳答案

请尝试使用以下代码 -

NSString *yourHTMLSourceCodeString = @"";

NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(<img\\s[\\s\\S]*?src\\s*?=\\s*?['\"](.*?)['\"][\\s\\S]*?>)+?"
options:NSRegularExpressionCaseInsensitive
error:&error];

[regex enumerateMatchesInString:yourHTMLSourceCodeString
options:0
range:NSMakeRange(0, [yourHTMLSourceCodeString length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {

NSString *img = [yourHTMLSourceCodeString substringWithRange:[result rangeAtIndex:2]];

NSURL *candidateURL = [NSURL URLWithString:img];

if (candidateURL && candidateURL.scheme && candidateURL.host)
{
NSLog(@"img src %@",img);
}


}];

更新使用下面的正则表达式更改可以完成同样的事情 -

 NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(<img\\s[\\s\\S]*?src\\s*?=\\s*?['\"]((http|https)://.*?)['\"][\\s\\S]*?>)+?"
options:NSRegularExpressionCaseInsensitive
error:&error];

关于html - 解析 JSON 中的 <img src> 标签 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30454588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com