从包含 HTML 的 NSString 创建本地 NSURL?
Make a local NSURL from an NSString containing HTML?
我有一个 NSString
包含一些 HTML。我正在尝试预加载 HTML,包括其中的任何外部图像链接。所以,澄清一下:我只有 HTML,我基本上需要加载它,抓取它的图像,并缓存该数据。
我可以使用以下代码在实时网站上执行此操作:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0], @"index.html"];
NSURL *url = [NSURL URLWithString:@"http://www.google.co.uk"];
NSData *urlData = [NSData dataWithContentsOfURL:url];
[urlData writeToFile:filePath atomically:YES];
但是如果没有 NSURL
,这将无法工作。我想知道我是否可以从 HTML 的这个字符串中以某种方式制作一个 NSURL
,并在此处的 URLWithString:
方法中替换它。
所以,问题:我可以把一些本地 HTML 放在 NSString
中,然后把它变成 NSURL
,这样我就可以把它输入上面的代码,然后保存HTML 和它链接到的任何图像?
是的,你可以。您必须自己解析 HTML 中的链接。现实世界 HTML 不符合 XML,因此实现目标的一种快速而肮脏的方法是将 HTML 视为文本并使用正则表达式库解析链接。
你问的问题完全没有意义。
A URL 是指向在线资源位置的指针。在这种情况下,一个 html 文件。你不能把一个变成另一个。
我建议您创建一个 UIWebView
,将字符串加载到其中,让它呈现并缓存结果。
[webView loadHTMLString:@"data" baseURL:nil];
我认为它需要实际放置在屏幕上才能呈现,因此将其设为不可见的 1 X 1 像素正方形,应该没问题。然后当 didFinishLoading
触发时。缓存结果
我有一个 NSString
包含一些 HTML。我正在尝试预加载 HTML,包括其中的任何外部图像链接。所以,澄清一下:我只有 HTML,我基本上需要加载它,抓取它的图像,并缓存该数据。
我可以使用以下代码在实时网站上执行此操作:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0], @"index.html"];
NSURL *url = [NSURL URLWithString:@"http://www.google.co.uk"];
NSData *urlData = [NSData dataWithContentsOfURL:url];
[urlData writeToFile:filePath atomically:YES];
但是如果没有 NSURL
,这将无法工作。我想知道我是否可以从 HTML 的这个字符串中以某种方式制作一个 NSURL
,并在此处的 URLWithString:
方法中替换它。
所以,问题:我可以把一些本地 HTML 放在 NSString
中,然后把它变成 NSURL
,这样我就可以把它输入上面的代码,然后保存HTML 和它链接到的任何图像?
是的,你可以。您必须自己解析 HTML 中的链接。现实世界 HTML 不符合 XML,因此实现目标的一种快速而肮脏的方法是将 HTML 视为文本并使用正则表达式库解析链接。
你问的问题完全没有意义。
A URL 是指向在线资源位置的指针。在这种情况下,一个 html 文件。你不能把一个变成另一个。
我建议您创建一个 UIWebView
,将字符串加载到其中,让它呈现并缓存结果。
[webView loadHTMLString:@"data" baseURL:nil];
我认为它需要实际放置在屏幕上才能呈现,因此将其设为不可见的 1 X 1 像素正方形,应该没问题。然后当 didFinishLoading
触发时。缓存结果