如何使用<a></a>标记从html中获取字符串?

时间:2014-05-09 10:38:01

标签: html ios objective-c nsstring

我有跟随的字符串。

<a href=\"http://www.google.com\" title=\"My Title\" target=\"_blank\">Link 1</a>

我将如何获得“href”和“Link1”子串。 我试过,但我没有得到有效的解决方案。请分享解决方案。谢谢。

1 个答案:

答案 0 :(得分:1)

从字符串中提取URL:

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 *someString = @"<a href=\"http://www.google.com\" title=\"My Title\" target=\"_blank\">Link 1</a>";

NSString *match = [someString substringWithRange:[expression rangeOfFirstMatchInString:someString options:NSMatchingCompleted range:NSMakeRange(0, [someString length])]];

NSLog(@"%@", match); // Correctly prints 'http://www.google.com'

用于匹配文字:

   NSRegularExpression *textRegex = [NSRegularExpression regularExpressionWithPattern:@"\>([^]]+)\<" options:NSRegularExpressionCaseInsensitive error:NULL];

NSString *someString = @"<a href=\"http://www.google.com\" title=\"My Title\" target=\"_blank\">Link 1</a>";

    NSString *match = [someString substringWithRange:[expression rangeOfFirstMatchInString:someString options:NSMatchingCompleted range:NSMakeRange(0, [someString length])]];

   NSLog(@"%@", match); // Correctly prints 'Link 1'

希望你现在可以使用它