请您先在易语言中添加组件编辑框1、按钮1和超文本浏览框1,再把下面的代码复制到代码编辑区里。
.版本 2
.支持库 HtmlView
.支持库 internet
.程序集 窗口程序集
.子程序 __启动窗口_创建完毕
超文本浏览框1.地址 = “http://www.baidu.com”
.子程序 取指定内容, 文本型
.参数 完整内容, 文本型
.参数 左边文本, 文本型
.参数 右边文本, 文本型
.局部变量 临时位置, 整数型
.局部变量 内容长度, 整数型
.局部变量 取出内容, 文本型
内容长度 = 取文本长度 (完整内容)
临时位置 = 寻找文本 (完整内容, 左边文本, , 假) + 取文本长度 (左边文本)
取出内容 = 取文本中间 (完整内容, 临时位置, 内容长度)
内容长度 = 取文本长度 (取出内容)
临时位置 = 寻找文本 (取出内容, 右边文本, , 假) - 1
取出内容 = 取文本中间 (取出内容, 1, 临时位置)
返回 (取出内容)
.子程序 _按钮1_被单击
.局部变量 文本, 文本型
文本 = 到文本 (HTTP读文件 (超文本浏览框1.地址)) ' 读取百度的HTML
.如果 (寻找文本 (文本, “退出”, , 假) ≠ -1) ' 如果登录了百度,那么就有“退出”这个链接
文本 = 取指定内容 (文本, “退出”, “新闻”) ' 百度新闻的地址在“退出”和“新闻”之间
文本 = 取指定内容 (文本, “<a href=”, “>”) ' 连接前面有“<a href=”,后面有“>”,而中间的就是新闻的连接了
.否则
文本 = 取指定内容 (文本, “点此进入 百度的空间”, “新”) ' 如果没有登录百度,那么在“新闻”前面的就是“点此进入 百度的空间”
文本 = 取指定内容 (文本, “href=” + #引号, #引号 + “>”) ' 这里比上面的前后各多了引号
.如果结束
编辑框1.内容 = 文本 ' 将取到的地址输出到编辑框上
用正则,还有网页要转码.像百度的话,首页是utf-8.什么编码,可以看看源码的标头,或者看浏览器右键
.版本 2
.支持库 HtmlView
.支持库 RegEx
.支持库 internet
.支持库 iconv
.子程序 _按钮1_被单击
编辑框超链接地址.内容 = 取网页链接地址 (超文本浏览框1.地址, “新闻”)
.子程序 取网页链接地址, 文本型
.参数 _网页地址, 文本型
.参数 _链接文本, 文本型
.参数 _超链接引号, 文本型, 可空, 超链接地址可能用引号括起来,可能是单引号,双引号,或者没有引号.默认没有引号
.局部变量 网页文件, 字节集
.局部变量 网页文本, 文本型
.局部变量 正则, 正则表达式
.局部变量 结果, 搜索结果
.局部变量 结果文本, 文本型
网页文件 = HTTP读文件 (_网页地址)
网页文本 = 到文本 (编码转换 (网页文件, #编码_UTF_8, #编码_GB2312, ))
.如果真 (网页文本 = “”)
网页文本 = 到文本 (编码转换 (网页文件, #编码_UTF_8, #编码_GB18030, ))
.如果真结束
.如果真 (网页文本 = “”)
网页文本 = 到文本 (编码转换 (网页文件, #编码_UTF_8, #编码_GBK, ))
.如果真结束
.如果真 (网页文本 = “”)
网页文本 = 到文本 (网页文件)
.如果真结束
.如果真 (网页文本 = “”)
信息框 (“网页内容转码失败!”, #警告图标, “提示”)
返回 (“”)
.如果真结束
正则.创建 (“<a href=” + _超链接引号 + “[^>]*” + _超链接引号 + “>” + _链接文本 + “</a>”, 假)
结果 = 正则.搜索 (网页文本, 1, )
.如果真 (结果.是否为空 ())
信息框 (“找不到!”, #信息图标, “提示”)
返回 (“”)
.如果真结束
结果文本 = 结果.取匹配文本 (网页文本, )
结果文本 = 子文本替换 (结果文本, “<a href=” + _超链接引号, , , , 真)
结果文本 = 子文本替换 (结果文本, _超链接引号 + “>” + _链接文本 + “</a>”, , , , 真)
返回 (结果文本)