【发布时间】:2014-11-29 14:55:47
【问题描述】:
基本上,我正在尝试为我的 webview 查找 url 中包含的 NSSet 对象。
我将如何使用 NSScanner 或 NSRange 来执行此操作?
以下是我正在使用的内容。
//External file links
NSURL* externalURL = [request URL];
NSString *externalFileExtension = [[request URL] pathExtension];
//External file extensions
NSLog(@"fileExtension is: %@", externalFileExtension);
NSSet *supportedFileExtensions = [NSSet setWithObjects:@"mpeg", @"mpg", @"m1s", @"mpa", @"mp2", @"m2a", @"mp2v", @"mv2", @"m2s", @"avi", @"mov", @"qt", @"asf", @"asx", @"wmv", @"wma", @"wmx", @"rm", @"ra", @"ram", @"rmvb", @"mp4", @"3gp", @"3gpp", @"ogm", @"mkv", @"flv", @"mv4", @"srt", @"swf", @"vob", @"aif", @"iff", @"m3u", @"m4a", @"mid", @"mp3", @"mpa", @"wav", @"aac", @"7z", @"cbr", @"deb", @"gz", @"pkg", @"rar", @"rpm", @"sitx", @"tar.gz", @"zip", @"zipx", @"ipsw", @"bin", @"cue", @"dmg", @"iso", @"mdf", @"toast", @"vcd", @"torrent", @"nes", @"rom", @"doc", @"docs", @"msg", @"odt", @"rtf", @"txt", @"wpd", @"wps", nil];
if ([supportedFileExtensions containsObject:externalFileExtension]) {
//my actions
}
由于链接的类型,有些网站不完全使用文件扩展名,有些使用链接中的扩展名类型,即“zip=blahblah”或“blahblahzipblah”
我需要搜索单击的链接以找到supportedFileExtensions 部分。
先谢谢你了。
更新: 感谢 rmaddy 让我朝着正确的方向前进。对于我最初的问题,它确实解决了它。但我在其他一些网站上使用时遇到问题。
我有一个 web 视图,其中有几个指向不同站点的链接,例如 Media Fire、Copy、Box 等。甚至是直接下载链接。例如,媒体触发链接甚至无需访问该站点即可开始下载,就像它只是下载文本一样。直接下载根本不会触发我的下载器。
使用公认的答案,区分这些的最干净的方法是什么?
【问题讨论】:
-
您的目标是查看您的任何扩展是否在 URL 的任何部分中?
-
正是我想要做的。
标签: ios string webview nsset nsscanner