易语言怎样提取网页中的文本

用易语言,怎么提取网页中的一段文本?
比如
alt="loading.." /></div>
<p class="red">很遗憾,您未获得红包,请继续加油!</p>
<form
我要中间的这段文字,但这段文字不是固定的。这样的代码应该怎么写?
还有分割文本时,分割数字可以,中文怎么变成乱码了。。。
高分求助
分割文本后,提出来的文本,是乱码。。。

-----------------------------------------------------------------
.版本 2

.子程序 取出文本, 文本型
.参数 文本, 文本型
.参数 头, 文本型
.参数 尾, 文本型
.参数 起始搜寻位置, 整数型, 可空
.局部变量 pos1, 整数型
.局部变量 pos2, 整数型

.如果真 (起始搜寻位置 ≤ 0)
起始搜寻位置 = 1
.如果真结束
pos1 = 寻找文本 (文本, 头, 起始搜寻位置, 真) + 取文本长度 (头)
pos2 = 寻找文本 (文本, 尾, pos1, 真)
返回 (取文本中间 (文本, pos1, pos2 - pos1))
-----------------------------------------------------------------
调用方法:(如取出上面的“很遗憾,您未获得红包,请继续加油!”)

文本 = 取出文本 (网页文本, “<p class=” + #引号 + “red” + #引号 + “>”, “</p>”, )

至于乱码估计是网页用的是UNICODE或UTF-8之类的,用编码转换支持库里的
编码转换先转成普通文本再作其它操作。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-20
给你看的例子,是在是一个播报北京时间的网页中,怎么样将其中的年月日提取出来的,也是通过分割文本,你看一下哈。
.版本 2
.支持库 internet

.程序集 窗口程序集1
.程序集变量 网页文本, 文本型
.程序集变量 临时文本, 文本型
.程序集变量 所需文本, 文本型, , "0"
.程序集变量 中间时间, 文本型, , "0"

.子程序 _按钮1_被单击

网页文本 = 到文本 (HTTP读文件 (“http://www.time.ac.cn/stime.asp”)) ' 这是国家授时中心网络服务器时间发布网站
所需文本 = 分割文本 (网页文本, “服务器时间:”, ) ' 将取回的文本分割,因为我们需要的网络时间在其后面
.如果真 (取数组成员数 (所需文本) < 2) ' 判断是否取回所需数据
信息框 (“取网络时间失败!链接网络不成功!”, 0 + #信息图标, “网络校时:”)
返回 ()
.如果真结束
临时文本 = 所需文本 [2]
所需文本 = 分割文本 (临时文本, “document.write('”, )
中间时间 = 分割文本 (所需文本 [3], “')”, )
编辑框1.内容 = 中间时间 [1] ' 取出年/月/日
临时文本 = 所需文本 [6]
所需文本 = 分割文本 (临时文本, “var hrs = ”, )
临时文本 = 所需文本 [2]
中间时间 = 分割文本 (临时文本, “;”, )
编辑框2.内容 = 中间时间 [1] ' 取出小时
所需文本 = 分割文本 (临时文本, “var min = ”, )
临时文本 = 所需文本 [2]
中间时间 = 分割文本 (临时文本, “;”, )
编辑框3.内容 = 中间时间 [1] ' 取出分钟
所需文本 = 分割文本 (临时文本, “var sec = ”, )
临时文本 = 所需文本 [2]
中间时间 = 分割文本 (临时文本, “;”, )
编辑框4.内容 = 中间时间 [1] ' 取出秒
第2个回答  2010-03-28
先用“<p class="red">”分割文本,看看你要的文字在哪个数组成员内。

然后再用“</p>”分割刚才那个数组成员。得到新数组的第一个成员就是你想要的文本。

我现在用的这台电脑没装易语言,只能说说思路了
第3个回答  2010-03-20
如果网页是GBK编码的,分割前注意凑够2的倍数个数字或者字母,就不会了
第4个回答  2010-03-20
用正则吧
相似回答