我是新手,帮我看看下面这个问题怎么解决好么? (50分)

  • 主题发起人 主题发起人 lisam
  • 开始时间 开始时间
L

lisam

Unregistered / Unconfirmed
GUEST, unregistred user!
我下载一个页面,其中有Html语言如下:
<li> [<a href=http://sports.163.com/ target=_blank>体育</a>] <a href=http://sports.163.com/tm/020420/020420_173085.html target=_blank>父女情深--记李秋平与他的女儿</a>  <font color=666666>(2002-04-20 18:23:36)</font>

其中“http://sports.163.com/ ”“体育”
“http://sports.163.com/tm/020420/020420_173085.html”
“父女情深--记李秋平与他的女儿”“2002-04-20 18:23:36”这几个是变化的,其他格式不便;

请问 :我如何从页面中读出“体育”和
“http://sports.163.com/tm/020420/020420_173085.html”这两段,然后保存到变量中去呢?


-----------------------------
来自:amsea, 时间:2002-4-21 11:58:00, ID:1057595
先转换并读入一个字符串变量里,然后在用定位函数,定位“<li> [<a href=”的位置,然后再定位
剩下的部分的第一个空格的位置,然后拷贝前面的内容为另外的变量。得到了第一个。
然后定位“</a>] <a href=”然后重复前面的步骤,得到内容。
然后侦测两个变量里的内容是否是“http://”开头的,如果不是,根据相应的逻辑自己加上。

--------------------
来自:lisam, 时间:2002-4-21 12:07:00, ID:1057608 | 编辑
谢谢amsea,以加100分,

但我想知道具体语句怎么写,谢谢,我是新手阿~~

 
我自己UP一下,急阿~
 
只能先想办法把文字读到一个字符串中,然后再搜索。
 
其实就是一个字符串搜索和取值的问题。

只是我不会写而已。希望那位大虾能提供这一段的源码,看看用什么方法和函数做比较好
 
CompareStr(
copy(

关键部分灵活运用这两个函数就差不多了
 
能不能给个例子?
 
procedure Getstr(str:string;var str1,str2:string);
var str0:string;
begin
if pos(' ',str)<>0 then
begin
str0:=copy(str,pos(' ',str)+1,max_path);
if pos('>',str0)<>0 then
begin
str0:=copy(str0,pos('>',str0)+1,max_path);
if pos('<',str0)<>0 then
begin
str1:=copy(str0,1,pos('<',str0)-1);
str0:=copy(str0,pos('<',str0)+1,max_path);
if pos('=',str0)<>0 then
begin
str0:=copy(str0,pos('=',str0)+1,max_path);
if pos(' ',str0)<>0 then
str2:=copy(str0,1,pos(' ',str0));
end;
end;
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var str,str1,str2:string;
begin
str:='<li> [<a href=http://sports.163.com/ target=_blank>体育</a>] <a href=http://sports.163.com/tm/020420/020420_173085.html target=_blank>父女情深--?李秋平与他的女儿</a>  <font color=666666>(2002-04-20 18:23:36)</font>';
getstr(str,str1,str2);
showmessage(str1);
showmessage(str2);
end;
 
如果我是下载的一个Web 页面,有很多个
'<li> [<a href=http://sports.163.com/ target=_blank>体育</a>].......)</font>'
应该怎么取呢,

假定页面以下载后转换成string;并保存在 str 里面

例如:
str := '<li> [<a href=http://news.163.com/foreign.html target=_blank>国际</a>] <a href=http://news.163.com/editor/020421/020421_405920.html target=_blank>以色列宣布:以军已从巴控那布卢斯全部撤出</a>  <font color=666666>(2002-04-21 13:33:41)</font>
<li> [<a href=http://tech.163.com/ target=_blank>科技</a>] <a href=http://tech.163.com/tm/020421/020421_61436.html target=_blank>投入8亿实施制造业信息化工程</a>  <font color=666666>(2002-04-21 13:29:03)</font>
<li> [<a href=http://ent.163.com/ target=_blank>娱乐</a>] <a href=http://ent.163.com/edit/020421/020421_119067.html target=_blank>Maggie Q透视装风靡上海</a>  <font color=666666>(2002-04-21 13:27:12)</font>
<li> [<a href=http://ent.163.com/ target=_blank>娱乐</a>] <a href=http://ent.163.com/edit/020421/020421_119066.html target=_blank>残疾歌手李琛主演《一样的人》</a>  <font color=666666>(2002-04-21 13:22:52)</font>'

等,应该怎么取,当然这里回车换行是我自己加上去的。原来的页面没有换行的。
这个页面就是:
http://old.163.com/search/allnews.php

网易的滚动新闻页面
 
再up一下.
 
copy(str,pos(' ',str)+1,max_path);
这里的几个参数是什么意思,

copy(str0,1,pos(' ',str0));
这个和上一个有什么区别?

pos(' ',str0)
这里面的参数又是什么意思?
 
没人知道么?
 
再UP一下。。。。
 
还没有人回答么?
那位老大知道啊!
 
再在在,UP。。
 
如果你对函数参数的意义不是很明白,可以按住SHIFT后再在函数名上单击鼠标左键就可以看到

函数的原型了。
 
如果你对函数参数的意义不是很明白,可以按住SHIFT后再在函数名上单击鼠标
左键就可以看到
函数的原型了。
看一看帮助文件。函数还有很多的例子,很容易就会用了。
 
Pos 加 Copy的问题,简单的不行,自己搞定吧
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
800
import
I
I
回复
0
查看
680
import
I
I
回复
0
查看
843
import
I
后退
顶部