我正在开发推特应用,需要一些帮助。我想替换@usernames和URL的w /粗体蓝色文本,并链接到我的应用程序中的相应视图。我能够解析推文文本,并使用@usernames和URL构建一个数组,但我还没弄清楚如何解析和替换内联的@usernames和URL的w /程式化文本。
基本上我希望文本看起来与官方Twitter应用程序(又名Tweetie)上的推文相似。
这是我在谷歌上发现的一条推文的例子。您会注意到@usernames和链接是蓝色的: http://www.tipb.com/images/stories/2009/02/twitter_celebs_iphone.jpg
我正在使用Google Toolbox for Mac中的GTMRegex作为正则表达式。
这是我目前的代码:
- (void)parseTweet {
NSString *text = message.text;
NSArray *a;
a = [text gtm_allSubstringsMatchedByPattern:@"@[[:alnum:]_]+"];
for (NSString *s in a) {
NTLNURLPair *pair = [[NTLNURLPair alloc] init];
pair.text = [NSString stringWithFormat:@"@%@", [s substringFromIndex:1]];
pair.screenName = s;
[links addObject:pair];
[pair release];
}
a = [text gtm_allSubstringsMatchedByPattern:@"http:\\/\\/[^[:space:]]+"];
for (NSString *s in a) {
NTLNURLPair *pair = [[NTLNURLPair alloc] init];
pair.text = s;
pair.url = s;
[links addObject:pair];
[pair release];
}
a = [text gtm_allSubstringsMatchedByPattern:@"https:\\/\\/[^[:space:]]+"];
for (NSString *s in a) {
NTLNURLPair *pair = [[NTLNURLPair alloc] init];
pair.text = s;
pair.url = s;
[links addObject:pair];
[pair release];
}
}
答案 0 :(得分:0)
您使用什么类型的ViewController? 不知道我是否理解你的问题,但也许有助于使用UIWebView来显示你的数组内容。
然后,您可以轻松地包含一些本地样式表,以便按照您希望的方式设置链接的样式。