我正在为iphone创建一个Twitter客户端。
基本上,我有三种我想要处理的网址类型:
当用户点击链接时...而不是启动网络视图并让webview决定是否加载quicktime播放器& youtube播放器,我希望能够在应用程序中处理它。
即。我怎么能编码像:
检查链接 如果link = link.youtube那么 加载youtube播放器 如果link = link.mp3流然后 加载quicktime播放器 其他 在webview中加载
答案 0 :(得分:1)
检查youtube很简单,你可以像
一样查看域名[NSString rangeOfSubstring:@"youtube.com"].location != NSNotFound
mp3流不是那么难,你通过获取最后一个“。”来检查最后一个扩展。然后再检查一组视频流格式,如:
NSArray *possibleExtensions = [url componentsSeparatedByString:@"."];
NSString *extension = [possibleExtensions objectAtIndex:([possibleExtensions count] - 1)];
NSSet *extensionSet = [NSSet setWithObjects: @"mp4", @"mov", @"m4v", @"mpv", @"3gp", nil];
BOOL isStream = [extensionSet containsObject:extension];
如果要检查普通链接,可以使用正则表达式:
NSString *regrexUrl = @"\\b((?:[\\w-]+://?|www[.])[^\\s()<>]+(?:\\([\\w\\d]+\\)|(?:[^\\p{Punct}\\s]|/)))";
// Based on http://daringfireball.net/2009/11/liberal_regex_for_matching_urls
NSString *urlString = [YOUR_STRING_HERE stringByMatching:NCPARSER_REGEX_URL capture:1];
if (urlString) {
NSLog(@"It is an url");
}