这是我需要获取“user@website.com”的HTML。
<td valign="top">
<script type="text/javascript">
/* <![CDATA[ */
PrintMail('user','website.com','user<at>website.com', ' ');
/* ]]> */
</script><a href="JavaScript:SendMail('user','website.com');" onmouseover="self.status='user@website.com'; return true;" onmouseout="self.status=''; return true;">user@website.com</a><br>
这是我的代码:
NSArray *emailNodes = [bodyNode findChildTags:@"td"];
for (HTMLNode *inputNode in emailNodes) {
if ([inputNode findChildrenWithAttribute:@"valign" matchingName:@"top" allowPartial:NO]) {
NSLog(@"%@", [[inputNode getAttributeNamed:@"href"] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]);
我正在使用的HTML解析器可以在这里找到:https://github.com/zootreeves/Objective-C-HMTL-Parser
我通过使用第一个孩子,下一个兄弟等来修改我的代码数百万次,但没有...
谢谢你的帮助。
答案 0 :(得分:0)
您可以使用Regex进行exp:
的电子邮件提取NSString *regex = @"[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})";
for (NSString *match in [html componentsSeperatedByRegex: regex]{
NSLog (@"%@", match);
}