<textarea id=reg rows=40 cols=80></textarea>
<script language=Javascript>
str="<DT> <H3 FOLDED ADD_DATE=\"1207060082\">1 </H3> <DL> <DT> <H3 FOLDED ADD_DATE=\"1207060098\">11 </H3> <DL> <DT> <A HREF=\"http://localhost/Person_Links.htm\" ADD_DATE=\"1207060117\" LAST_VISIT=\"1207238400\" LAST_MODIFIED=\"1207060118\">2fads1 </A> </DL> <DT> <H3 FOLDED ADD_DATE=\"1207060082\">2 </H3> <DL> <DT> <H3 FOLDED ADD_DATE=\"1207060098\">12 </H3> <DL> <DT> <A HREF=\"http://localhost/Person_Links.htm\" ADD_DATE=\"1207060117\" LAST_VISIT=\"1207238400\" LAST_MODIFIED=\"1207060118\">2fads1 </A> </DL>"
//str="<dt>1<dl><dt>1<dl><dt>2<dl>a</dl><dt>11<dl><dt>12<dl>a</dl>"
re = /.*?((<DT>.*?<DL>.*?)*?)(<DT>.*?<DL>.*?<\/DL>).*?/ig
str=str.replace(/(<DT>.*?<DL>.*?<\/DL>)/ig,function($0,$1) { return $1.replace(/(<DT>.*?<DL>.*?)*(<DT>.*?<DL>.*?<\/DL>)/ig,"$2")+"\r\n\r\n";})reg.value=str+"\r\n\r\n childs\r\n"arr1=str.match(re)reg.value=reg.value+arr1.join("\r\n\r\n");
</script>
这样已经可以了。然后你自己根据你的环境改一下代码。
<script language=Javascript>
str="<DT> <H3 FOLDED ADD_DATE=\"1207060082\">1 </H3> <DL> <DT> <H3 FOLDED ADD_DATE=\"1207060098\">11 </H3> <DL> <DT> <A HREF=\"http://localhost/Person_Links.htm\" ADD_DATE=\"1207060117\" LAST_VISIT=\"1207238400\" LAST_MODIFIED=\"1207060118\">2fads1 </A> </DL> <DT> <H3 FOLDED ADD_DATE=\"1207060082\">2 </H3> <DL> <DT> <H3 FOLDED ADD_DATE=\"1207060098\">12 </H3> <DL> <DT> <A HREF=\"http://localhost/Person_Links.htm\" ADD_DATE=\"1207060117\" LAST_VISIT=\"1207238400\" LAST_MODIFIED=\"1207060118\">2fads1 </A> </DL>"
//str="<dt>1<dl><dt>1<dl><dt>2<dl>a</dl><dt>11<dl><dt>12<dl>a</dl>"
re = /.*?((<DT>.*?<DL>.*?)*?)(<DT>.*?<DL>.*?<\/DL>).*?/ig
str=str.replace(/(<DT>.*?<DL>.*?<\/DL>)/ig,function($0,$1) { return $1.replace(/(<DT>.*?<DL>.*?)*(<DT>.*?<DL>.*?<\/DL>)/ig,"$2")+"\r\n\r\n";})reg.value=str+"\r\n\r\n childs\r\n"arr1=str.match(re)reg.value=reg.value+arr1.join("\r\n\r\n");
</script>
这样已经可以了。然后你自己根据你的环境改一下代码。
这个是标题
麻烦到下面这个贴看看
这个里面应该说的比较详细http://topic.csdn.net/u/20080405/10/9f62812e-9147-418d-befb-215010e2e56c.html
<DL> <p>
<DT> <H3 FOLDED ADD_DATE="1206972646">链接 </H3>
<DL> <p>
</DL> <p>
<DT> <H3 FOLDED ADD_DATE="1207060082">1级目录 </H3>
<DL> <p>
<DT> <H3 FOLDED ADD_DATE="1207060098">2级目录 </H3>
<DL> <p>
<DT> <A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060117" LAST_VISIT="1207324800" LAST_MODIFIED="1207060118">2级文件 </A>
</DL> <p>
<DT> <A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060091" LAST_VISIT="1207324800" LAST_MODIFIED="1207060092">1级文件 </A>
</DL> <p>
<DT> <A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060073" LAST_VISIT="1207324800" LAST_MODIFIED="1207060076">根目录 </A>
</DL>
我要解析出的内容是:
1、
<DT> <H3 FOLDED ADD_DATE="1206972646">链接 </H3>
<DL> <p>
</DL>
2、
<DT> <H3 FOLDED ADD_DATE="1207060098">2级目录 </H3>
<DL> <p>
<DT> <A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060117" LAST_VISIT="1207324800" LAST_MODIFIED="1207060118">2级文件 </A>
</DL>
3、
<DL>
<DT> <A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060073" LAST_VISIT="1207324800" LAST_MODIFIED="1207060076">根目录 </A>
</DL>
4、 <DT> <H3 FOLDED ADD_DATE="1207060082">1级目录 </H3>
<DL> <DT> <A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060091" LAST_VISIT="1207324800" LAST_MODIFIED="1207060092">1级文件 </A>
</DL>
<!-- This is an automatically generated file.
It will be read and overwritten.
Do Not Edit! -->
<TITLE>Books</TITLE>
<H1>Books</H1>
<DL><p>
<DT><H3 FOLDED ADD_DATE="1206972646">链接</H3>
<DL><p>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1207060082">1级目录</H3>
<DL><p>
<DT><H3 FOLDED ADD_DATE="1207060098">2级目录</H3>
<DL><p>
<DT><H3 FOLDED ADD_DATE="1207416412">3级目录</H3>
<DL><p>
<DT><A HREF="http://www.baidu.com/s?wd=www.google.com" ADD_DATE="1207416427" LAST_VISIT="1207411200" LAST_MODIFIED="1207416428">百度搜索_www.google.com</A>
</DL><p>
<DT><A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060117" LAST_VISIT="1207411200" LAST_MODIFIED="1207060118">2级文件</A>
</DL><p>
<DT><A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060091" LAST_VISIT="1207411200" LAST_MODIFIED="1207060092">1级文件</A>
</DL><p>
<DT><A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060073" LAST_VISIT="1207411200" LAST_MODIFIED="1207060076">根目录</A>
<DT><A HREF="http://topic.csdn.net/t/20050103/16/3695790.html" ADD_DATE="1207331918" LAST_VISIT="1207411200" LAST_MODIFIED="1207331920">100分求解一个问题:如何用ASP实现将收藏夹里的网址列表全部在线导入到数据库里面? Web 开发 - ASP - CSDN社区 community.csdn.net</A>
</DL><p>
</DL>里面有嵌套了多个<DT><DL></DL>
<!DOCTYPE NETSCAPE-Book-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
Do Not Edit! -->
<TITLE>Books </TITLE>
<H1>Books </H1>
<DL> <p>
<DT> <H3 FOLDED ADD_DATE="1206972646">链接 </H3>
<DL> <p>
</DL> <p>
<DT> <H3 FOLDED ADD_DATE="1207060082">1级目录 </H3>
<DL> <p>
<DT> <H3 FOLDED ADD_DATE="1207060098">2级目录 </H3>
<DL> <p>
<DT> <H3 FOLDED ADD_DATE="1207416412">3级目录 </H3>
<DL> <p>
<DT> <A HREF="http://www.baidu.com/s?wd=www.google.com" ADD_DATE="1207416427" LAST_VISIT="1207411200" LAST_MODIFIED="1207416428">百度搜索_www.google.com </A>
</DL> <p>
<DT> <A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060117" LAST_VISIT="1207411200" LAST_MODIFIED="1207060118">2级文件 </A>
</DL> <p>
<DT> <A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060091" LAST_VISIT="1207411200" LAST_MODIFIED="1207060092">1级文件 </A>
</DL> <p>
<DT> <A HREF="http://localhost/Person_Links.htm" ADD_DATE="1207060073" LAST_VISIT="1207411200" LAST_MODIFIED="1207060076">根目录 </A>
<DT> <A HREF="http://topic.csdn.net/t/20050103/16/3695790.html" ADD_DATE="1207331918" LAST_VISIT="1207411200" LAST_MODIFIED="1207331920">100分求解一个问题:如何用ASP实现将收藏夹里的网址列表全部在线导入到数据库里面? Web 开发 - ASP - CSDN社区 community.csdn.net </A>
</DL> <p>
</textarea>
<script language=javascript>
var result=new Array();
var tempArray=new Array();
var index=0
function show(str){
//取最里面的
re=/<DT>([\s\S](?!(<DL>)))+?[\s\S]<DL>([\s\S](?!(<DL>)))+?[\s\S]<\/DL>/g
var temp=str.match(re)
if(temp){
for(var i=0;i<temp.length;i++)
{
result.push(temp[i])
str=str.replace(temp[i],"###"+index+"###")
for(var j in tempArray)
temp[i]=temp[i].replace(j,tempArray[j])
tempArray["###"+index+"###"]=temp[i]
index++;
}
show(str)
};
}
var str=document.getElementById("textarea1").value
show(str)
for(var i=0;i<result.length;i++)
{
for(var j in tempArray)
{
result[i]=result[i].replace(j,tempArray[j])
}
alert(result[i])
}
</script>
最外层的可以用这个:
alert(str.replace(/([\s\S]*?)(<dl>(([\s\S]*?)(<dt>[\s\S]*?<dl>([\s\S]*)<\/dl>)([\s\S]*))<\/dl>)([\s\S]*)/ig,"$4$7"));
<script language=javascript>
var result=new Array();
var tempArray=new Array();
var index=0
function show(str){
//取最里面的
re=/<DT>([\s\S](?!(<DL>)))+?[\s\S]<DL>([\s\S](?!(<DL>)))+?[\s\S]<\/DL>/g
var temp=str.match(re)
if(temp){
for(var i=0;i<temp.length;i++)
{
result.push(temp[i])
str=str.replace(temp[i],"###"+index+"###")
for(var j in tempArray)
temp[i]=temp[i].replace(j,tempArray[j])
tempArray["###"+index+"###"]=temp[i]
index++;
}
show(str)
};
}
var str=document.getElementById("textarea1").value
show(str)
for(var i=0;i<result.length;i++)
{
for(var j in tempArray)
{
result[i]=result[i].replace(j,tempArray[j])
}
alert(result[i])
}
</script>
把这段程序翻译成VB