我正在使用Twitter应用程序,需要一些帮助。我想替换@usernames和URL的带有粗体的蓝色文本,并链接到我的应用程序中带有相应视图的w /。我能够解析tweet文本,并使用@usernames和URL构造一个数组,但是我还没有弄清楚如何解析和替换@usernames和URL的带内联风格的文本。
基本上,我希望文本看起来与官方Twitter应用程序(又名Tweetie)上的tweet文本相似。
这是我在Google上发现的一条推文示例。您会注意到@usernames和链接是蓝色的:
http://www.tipb.com/images/stories/2009/02/twitter_celebs_iphone.jpg
我正在使用Mac版Google工具箱中的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];
}
}
最佳答案
您使用哪种类型的ViewController?
不知道我是否正确理解您的问题,但是使用UIWebView来显示数组内容可能会有所帮助。
然后,您可以轻松地包含一些本地样式表以所需的方式设置链接样式。
关于objective-c - 在iPhone应用程序中解析并替换@usernames和URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5238859/