如何从UIWebView获取内容?

时间:2013-03-26 11:07:13

标签: javascript ios xcode uiwebview nsstring

我需要从UIWebView获取每个页面的第一段。我怎么能得到这个?

我还有一个用于正则表达式检测的代码,但是它给出了段落类名而不是段落内容:

NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(<p\\s[\\s\\S]*?=\\s*?['\"](.*?)['\"][\\s\\S]*?>)+?"
                             options:NSRegularExpressionCaseInsensitive
                             error:&error];

[regex enumerateMatchesInString:html
                        options:0
                        range:NSMakeRange(0, [html length])
                        usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {

    NSString *img = [html substringWithRange:[result rangeAtIndex:2]];
    NSLog(@"img src %@",img);
}];

NSString *classs=[webView stringByEvaluatingJavaScriptFromString:@"document.getElementbyClassName(img)"];

1 个答案:

答案 0 :(得分:0)

执行此操作的最有效方法是在Web视图的上下文中执行一些javascript代码,该视图定位文档中的第一个段落元素并返回其文本。您可以使用UIWebView的{​​{1}}方法执行此操作。

下面的代码首先检索文档中所有元素的数组,标签名称为P(这假设您要查找的文本位于这些元素中,否则您将需要做更多工作)。然后它检查是否至少有一个段落元素,如果是,则返回其文本内容。否则,它返回空字符串。

stringByEvaluatingJavaScriptFromString

如果要检查或更改文档的其他方面,可以在Web视图的上下文中运行任意javascript代码。