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

  • 主题发起人 主题发起人 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”这两段,然后保存到变量中去呢?
 
没人知道吗?

我自己UP一下好了,先吃饭,回来接着看。。
 
读到流里然后查询或定位,修改后,保存,行不?
 
把下载页面保存成文本格式,然后全文查找
 
不知道你再说什么
 
up.......[8D]
 
:南极土著, 怎样查找,我不会写其中的语句阿!

yxjdelphi, 怎样定义到流?具体怎么写的?

:道长, 有什么不清楚的地方请说。
 
先转换并读入一个字符串变量里,然后在用定位函数,定位“<li> [<a href=”的位置,然后再定位
剩下的部分的第一个空格的位置,然后拷贝前面的内容为另外的变量。得到了第一个。
然后定位“</a>] <a href=”然后重复前面的步骤,得到内容。
然后侦测两个变量里的内容是否是“http://”开头的,如果不是,根据相应的逻辑自己加上。
 
谢谢amsea,以加50分,

但我想知道具体语句怎么写,谢谢,我是新手阿~~
 
怎么加不上积分,我再试试。。
 
寫了一全函數,只能應用于上述類似的語句:
procedure Getstr(str:string;var str1,str2:string);
var i:integer;
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);//http://sports.163.com/tm/020420/020420_173085.html
end;
關于從文件中讀取內容,可以用:
procedure TForm1.Button2Click(Sender: TObject);
var text1:tstringlist;
str:string;
begin
text1:=tstringlist.create;
text1.LoadFromFile('d:/uu.txt');
str:=text1.Text;
text1.free;
end;

 
后退
顶部