doc:=webbroser.oleobject.document.links;
for i=0 to doc.count-1 do begin
if pos('關鍵字',doc.item(i).innertext)>0 then
memo1.lines.add(doc.item(i).innertext+':'+doc.item(i).href);
end;
感觉还是遍历 DOM 树比较靠谱。是否还要找文本中嵌入的网址?不妨先把此问题搁置一下,就去遍历 DOM 树中的结点。凡有可能带网址的结点都要分析其属性,像楼上说的 href 属性,还有 src 属性等等,只要取出属性值,它就是网址,然后看其中是否带指定关键词。
遍历 DOM 结点,采用递归算法比较简单:写一个递归函数,从根结点出发找子结点,找到子结点后,调用函数自身再去找子结点的子结点。这样,一个递归函数就能完成遍历。
很有意思的话题。网页解析应该能搜到一些源码,没细究过。有些是为了做爬虫,功能很宽泛,也许超出了你的需求。
我想,需要区分是找链接网址还是把文本中的网址都找出来。如果是前者,还是需要按 HTML 规范去解析标签,有点像做爬虫了。如果是后者,那就是去搜字符串。但是不明确你说的“指定内容”是什么含义。如果就是一个关键词,那问题就归结到找到关键词后如何确定它是否网址的一部分,以及如何确定网址的前后边界。这样,问题又归结到如何确定标志性字符串,也许需要做一点语法分析。