具有挑战性的问题

「已注销」 2008-10-08 05:03:56
在html页面中有太多的DIV比如下面的

<div>
<div id="content">
<div><div></div></div>
</div>
<div></div>
</div>

我需要取出<div id="content"></div>之中的内容。求一个超正则搞定它,能办到吗(它之中的<div>数量不确定哦)?
...全文
326 31 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuaba 2008-11-07
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 i365 的回复:]
建议你用htmlparser处理[/Quote]加上正则
amanizty 2008-10-09
  • 打赏
  • 举报
回复
学习~
我姓区不姓区 2008-10-09
  • 打赏
  • 举报
回复
结的可真快……
kfps8kfps8 2008-10-09
  • 打赏
  • 举报
回复
JScript code:

var str = document.getElementById("content");
alert(str.innerText);

「已注销」 2008-10-09
  • 打赏
  • 举报
回复
就此结贴,感谢各位的热情
「已注销」 2008-10-09
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 gen06 的回复:]
C# code
(?<=<div[^>]*?id="content"[^>]*>)[^<>]*(((?'Open'<div[^>]*>)[^<>]*)+((?'-Open'</div>)[^<>]*)+)*(?(Open)(?!))(?=</div>)
[/Quote]
你的正则也不起作用,我看我提问的方式有点问题另开一贴从新提问!
ws_hgo 2008-10-09
  • 打赏
  • 举报
回复
如果是"你的意思是要获取 <div id="content"> </div>之中所有标签中的内容?"
应该是这种结果的:
var str = document.getElementById("content");
alert(str.innerText);
gen06 2008-10-08
  • 打赏
  • 举报
回复

(?<=<div[^>]*?id="content"[^>]*>)[^<>]*(((?'Open'<div[^>]*>)[^<>]*)+((?'-Open'</div>)[^<>]*)+)*(?(Open)(?!))(?=</div>)
JeffChung 2008-10-08
  • 打赏
  • 举报
回复
不熟悉正则,帮顶
gen06 2008-10-08
  • 打赏
  • 举报
回复
(?<=<div[^>]*?id="content"[^>]*>)[^<>]*(((?<tag><div[^>]*>)[^<>]*)+((?<-tag></div>)[^<>]*)+)*(?(open)(?!))(?=</div>)
试试
「已注销」 2008-10-08
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 i365 的回复:]
建议你用htmlparser处理
[/Quote]
考虑过,但觉得那么做太麻烦了。
先用正则试一下,那是最后的打算
编程有钱人了 2008-10-08
  • 打赏
  • 举报
回复
jquery的简单

$("#content").find("div")
i365 2008-10-08
  • 打赏
  • 举报
回复
建议你用htmlparser处理
「已注销」 2008-10-08
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 ojlovecd 的回复:]
你的意思是要获取 <div id="content"> </div>之中所有标签中的内容?
[/Quote]
当然,但是这是一个流而非html页面!
vicqqq 2008-10-08
  • 打赏
  • 举报
回复
当做xml来读吧
zero8500 2008-10-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jankrong 的回复:]
HTML code
<script language="javascript">
var jieguo=document.getElementById("content").innerHTML
</script>
或者
<script language="javascript">
var jieguo=document.all("content").innerHTML
</script>
[/Quote]

试试
无爱大叔 2008-10-08
  • 打赏
  • 举报
回复
<div id="content" runat="server">...</div>

cs页面中
    protected void Page_Load(object sender, EventArgs e)
{
Response.Write(content.InnerHtml);
}
我姓区不姓区 2008-10-08
  • 打赏
  • 举报
回复
你的意思是要获取<div id="content"> </div>之中所有标签中的内容?
「已注销」 2008-10-08
  • 打赏
  • 举报
回复
难点并不在于此。关键是这个<div>中的文本中还有可能包含<div>*</div>的字符!
「已注销」 2008-10-08
  • 打赏
  • 举报
回复
似乎楼上的大虾们还没有明白我的问题!
这不是一个网页,只是一个流。难道你在string中使用document.getElementById()吗?
请使用正则表达式,提取某个<div id="content">之间的部分!这里的<div id="content">是一个字符串而不是一个节点一个标签!这下改明白我的意思了吧!
加载更多回复(11)

62,244

社区成员

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

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

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

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