您的位置:程序门 -> vb -> 网络编程



如何在网页里面的普通文本上加上超链接?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何在网页里面的普通文本上加上超链接?[已结贴,结贴人:hpygzhx520]
发表于:2007-05-10 20:04:08 楼主
用webbrowser打开某个网页,若网页里面的文字有 "视频 "两个字,则在“视频”上加超链接?(比如指向www.sohu.com,例子而已,随便什么链接都行……)
注意是普通文本才加,若 "视频 "两个字原本就是一个超链接或是一个超链接的一部分则不做修改。
这似乎要涉及什么“代码过滤”技术,但似乎很难,尤其是要判断是否原本就是一个链接的问题,这方面也没vb的资料……

分不是问题,若哪位帮忙解决了,可再加。也可单独发送到邮箱hpygzhx520@163.com,好单独开帖给分……。
不胜感激!谢谢。
发表于:2007-05-10 20:09:281楼 得分:10
要分析返回的html代码,循环解析,找到需要的关键字在加上   html   语法。
发表于:2007-05-10 20:10:072楼 得分:0
其实就是要属性   html   格式就可以了。
发表于:2007-05-10 20:58:583楼 得分:5
比较麻烦,帮顶
发表于:2007-05-10 22:17:354楼 得分:0
请帮忙详细指点一下,行吗?比如某个编辑框里面有“视频”二字,若替换,那不是乱套了?
发表于:2007-05-10 22:38:025楼 得分:5
比较麻烦,帮顶
发表于:2007-05-10 22:56:206楼 得分:5
先下网页的源码,在替换“视屏”为 " <a   href=http://www.sohu.com> 视屏 </a>
发表于:2007-05-10 23:24:067楼 得分:0
楼上的,这设计个问题,已经说明白了,要区分“视频”是否为普通文本!
发表于:2007-05-11 14:59:478楼 得分:20
实现不难,速度是问题
发表于:2007-05-11 15:31:229楼 得分:0
请版主指点。谢谢,先看看如何实现。
发表于:2007-05-11 23:59:2210楼 得分:0
参考:http://hi.baidu.com/starwork/blog/item/b4b85109ad5b13ce3bc7638a.html
发表于:2007-05-12 08:56:5511楼 得分:0
谢谢,这个方法不错,至少解决了会替换编辑框等的代码(意思是仅替换了文本)。但还是无法区分是否该词原本就是一个超链接的一部分。如果是的话,就不替换了。
请再指点,谢谢。
发表于:2007-05-12 09:59:5312楼 得分:20
//无法区分是否该词原本就是一个超链接的一部分
判断是否有 <a> </a> 标记呀
发表于:2007-05-12 10:08:3113楼 得分:0
如果这样判断的话,上面的方法就用不上了。得取出所有代码来分析。但算法还没想好……
发表于:2007-05-12 13:02:1514楼 得分:25
视频有 <a> </a>   标记吗?
发表于:2007-05-12 13:02:4415楼 得分:0
如果有 <a> </a> 标记,那就好办
发表于:2007-05-12 13:13:3416楼 得分:0
测试网页代码

<html>
<head>
<title> test </title>
<meta   http-equiv= "content-type "   content= "text/html;   charset=gb2312 ">
</head>

<body   bgcolor= "#ffffff "   text= "#000000 ">
<p> <a> 视频 </a> </p>
<p> <a   href= "http://www.sina.com "> 视频 </a>   </p>
<p> <a> 视频 </a> </p>
</body>
</html>


程序代码

private   sub   command1_click()
set   vdoc   =   web.document
for   i   =   0   to   vdoc.all.length   -   1
        if   lcase(vdoc.all(i).tagname)   =   "a "   then
              set   vtag   =   vdoc.all(i)
              if   vtag.innertext   =   "视频 "   and   vtag.href   =   " "   then
                    vtag.href   =   "http://www.163.com "
              end   if
        end   if
next   i
end   sub

private   sub   form_load()
web.navigate   "d:\1.htm "
end   sub
发表于:2007-05-12 14:01:1417楼 得分:0
谢谢。比如你进baidu,搜索 "视频 ",然后用你的代码测试,没有效果……
请继续指点!
谢谢
发表于:2007-05-12 15:33:3818楼 得分:5
提供个思路,把 <body> </body> 中所有代码读入,然后把所有代码分解为 <> </> 的分段,判断每个分段中的 <> </> 里面的内容是否为 <a> </a> 或者 <list> </list> 等编辑框格式,如果不是,就可以替换 "视频 "为 " <a   href=http://www.sohu.com> 视屏 </a> "了!
发表于:2007-05-12 15:58:2419楼 得分:0
这个……,能否写个代码示范一下?主要是对html代码不熟悉,也就不清楚其格式了。

谢谢。不胜感激。
发表于:2007-05-12 16:01:0020楼 得分:0
我刚才也想说楼上的楼上那个方法,就是不能连续发4次消息
webstr=webbrowser1.document.body.innerhtml

进行处理,把所有代码分解为 <> </> 的分段,判断每个分段中的 <> </> 里面的内容是否为 <a> </a> 或者 <list> </list> 等编辑框格式,如果不是,就可以替换 "视频 "为 " <a   href=http://www.sohu.com> 视屏 </a> "

再   webbrowser1.document.body.innerhtml=webstr
发表于:2007-05-12 16:19:5121楼 得分:0
<> </>
这些符号哪些是一组? <和> 是一组? <   和/> 是一组?
谢谢。
发表于:2007-05-13 09:55:1222楼 得分:0
<html标记> </html标记> 这样的是一组
发表于:2007-05-13 13:37:3723楼 得分:0
该回复于2007-12-28 17:45:30被管理员或版主删除
发表于:2007-05-14 08:53:3224楼 得分:0
等我试试看,不行再请教……
发表于:2007-05-14 09:31:5225楼 得分:0
看来真是高难度了.页面元素有很多啊,组合框、列表框、文本框、单选、复选以及有可能出现的一些其他东西,这些都要判断。
发表于:2007-05-14 09:40:4226楼 得分:0
我想主要的问题就是没有 <a> </a> 标记的“视频”文字吧?
发表于:2007-05-14 10:13:5227楼 得分:0
如果一个编辑框里面的内容有“视频”,这个时候如果替换代码的话就出问题了。这就需要区分。但区分的方法呢……
各位出手,尝试一下吧,我感觉是无从下手啊……
谢谢。
发表于:2007-05-15 00:06:2528楼 得分:5
偶是来接分的,帮顶中。。。呵呵:)
发表于:2007-05-22 20:48:3429楼 得分:0
如果有字符为   视屏 </a>   那么这个就是一个超级link   如果只是   视屏   那么就不是超级link


快速检索

最新资讯
热门点击