Спасибо за быстрый ответ! У вас есть верное замечание только о поиске первой ссылки, и вам нужно будет изменить мой код.
тоящее время я использую UIWebView для стилизации постов из твиттера. Некоторые твиты, конечно, содержат URL-адреса, но не содержат<a>
теги. Я могу вытащить URL, но я не уверен, как добавить<a>
теги и поместите обратно в твит. Затем я буду использовать тот же подход, чтобы добавить ссылки на @usernames и #hashtags. Вот пример моего текущего кода:
NSString *tweet = @"Sync your files to your Google Docs with a folder on your desktop. Like Dropbox. Good choice, Google storage is cheap. http://ow.ly/4OaOo";
NSRegularExpression *expression = [NSRegularExpression regularExpressionWithPattern:@"(?i)\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’]))" options:NSRegularExpressionCaseInsensitive error:NULL];
NSString *match = [tweet substringWithRange:[expression rangeOfFirstMatchInString:tweet options:NSMatchingCompleted range:NSMakeRange(0, [tweet length])]];
NSLog(@"%@", match);// == http://ow.ly/4OaOo
В конечном итоге я бы хотел, чтобы последняя строка выглядела так:
Sync your files to your Google Docs with a folder on your desktop. Like Dropbox. Good choice, Google storage is cheap. <a href="http://ow.ly/4OaOo>http://ow.ly/4OaOo</a>
Любая помощь приветствуется.