如何删除所有 HTML 块中的标签,而保留其余部分?

发布于 2024-12-10 08:44:58 字数 317 浏览 1 评论 0原文

我有一堆 html,正在准备在我正在开发的 iPad 应用程序的 UIWebView 中显示。 HTML 有许多我可以使用的不同标签,但有一堆带有不相关链接的 a 标签,我需要将其删除。我将把这段文本放入 sqlite 数据库中。

从 HTML 文本中获取所有 a 标签的最佳方法是什么?我认为正则表达式是最好的方法,但我只是不太了解正则表达式。网上的一个博客提到这个正则表达式是删除所有标签的方法:

 <(.|\n)*?>

那么我需要做什么才能将其调整为特定于 a 标签?或者我应该采取不同的方法?

谢谢!

I have a bunch of html that I am prepping for display in a UIWebView for an iPad app I am working on. The HTML has a number of different tags that I am fine with, but there are a bunch of a-tags with irrelevant links that I need to have removed. I am going to be putting this text into a sqlite db.

What is the best way to get all of the a-tags out of my HTML text? I figure regex is the best way, but I just don't get regex very well. A blog online mentioned that this regex is the way to remove all tags:

 <(.|\n)*?>

So what would I need to do in order to adjust that to be a-tag specific? Or is there a different approach that I should take?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

街角迷惘 2024-12-17 08:44:58

您需要的正则表达式是:

<a.*?>|</a>

这与 匹配 - 您需要删除的标签。我不知道 ObjectiveC 正则表达式函数,请参阅 Ron 的帖子。

the regex you need is:

<a.*?>|</a>

this matches both <a{something}> OR </a> - the tags you need to remove. I don't know about the ObjectiveC regex functions though, see Ron's post.

孤者何惧 2024-12-17 08:44:58

试试这个代码:

NSString *str = @"Turn left onto <a>Sri Krishna Nagar Rd</a><div class=\"google_note\">Pass by <b landmarkid=\"0x39ed58475c24020f:0x170a2130a5880d5a\" class=\"dir-landmark\">California Academy of Visual Effects</b> <div class=\"dirseg-sub\">(on the left)</div>\n</div>";
str = [str stringByReplacingOccurrencesOfString:@"\\r\\n" withString:@""];
NSRange r;
while ((r = [str rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
    str = [str stringByReplacingCharactersInRange:r withString:@""];
NSLog(@"%@",str);

Try this code:

NSString *str = @"Turn left onto <a>Sri Krishna Nagar Rd</a><div class=\"google_note\">Pass by <b landmarkid=\"0x39ed58475c24020f:0x170a2130a5880d5a\" class=\"dir-landmark\">California Academy of Visual Effects</b> <div class=\"dirseg-sub\">(on the left)</div>\n</div>";
str = [str stringByReplacingOccurrencesOfString:@"\\r\\n" withString:@""];
NSRange r;
while ((r = [str rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
    str = [str stringByReplacingCharactersInRange:r withString:@""];
NSLog(@"%@",str);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文