求一提取HTML的的正则表达式(在线等待)

fys 2006-10-17 10:04:45
程序抓回一段HTML,例如:
<table width=0>
<tr><td><img src="xxx.jpg"><br>
<p><a href="#">美丽图</a></p>
</td></tr></table>
要求实现只保留正文内容及<img><p></p><br>四种HTML标记,将其它HTML替换为空格。
...全文
260 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
netlg 2006-10-19
  • 打赏
  • 举报
回复
同意gzdiablo() 的两贴,

我也纳闷为什么很多人不知道尽快结贴,不是为了省分吧,一发贴分就已经给出去了,不合逻辑
mt
gzdiablo 2006-10-19
  • 打赏
  • 举报
回复
最后提一句 记得结帖 我解答了100多条问题只有25条拿了分 再这样我就不来这混了
gzdiablo 2006-10-19
  • 打赏
  • 举报
回复
这个比较复杂必须通过几个步骤完成

1.你必须取得<body>标签内的全部代码
match: <body>(?:\s*|.)*</body>

2.剔除第一步获取的代码里面的<script><style><!--...-->等非网页内容的标签在这不一一列举了
只要replace掉<(script|style|XXX)[^>]*>(?:\s*|.)*</\1>的match即可

3.再进行删除标签的工作
Regex.Replace(第二步的结果,"<(?!img|p|/p|br)[^>]*>","")

4.剔除其他可能存在的非文档内容如.
select的option标签里面的文本等等

petshop4 2006-10-18
  • 打赏
  • 举报
回复
youstr=Regex.Replace(youstr,"<(?!img|br|p|/p).*?>","")
lip009 2006-10-17
  • 打赏
  • 举报
回复
<(?!img|br|p|\/p)[^<>]*>
这一段是正则表达式内容
lip009 2006-10-17
  • 打赏
  • 举报
回复
是否是LZ想要的结果?
lip009 2006-10-17
  • 打赏
  • 举报
回复
<script>
var str="<table width=0><tr><td><img src=\"xxx.jpg\"><br><p><a href=\"#\">美丽图</a></p></td></tr></table>";
alert(str.replace(/<(?!img|br|p|\/p)[^<>]*>/g,""));
</script>
fys 2006-10-17
  • 打赏
  • 举报
回复
没人知道?
fys 2006-10-17
  • 打赏
  • 举报
回复
fys 2006-10-17
  • 打赏
  • 举报
回复
Regex.Replace(strhtml, "<[^>]*[^p]>", "", RegexOptions.IgnoreCase)
用这个还差img的没法排除掉

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧