線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1824
推到 Plurk!
推到 Facebook!

用MEMO顯示網頁原始碼,再從裡面找出超連結網址

答題得分者是:daldal
chrislove87
一般會員


發表:11
回覆:14
積分:5
註冊:2007-05-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-23 10:27:47 IP:122.117.xxx.xxx 訂閱
小弟成功讓Memo顯示出原始碼

但網路上找到的資料,利用Form1->Memo1->Text.Pos("a href=");

確實可以找到a href的地方,但卻只侷限在第一個

有沒有辦法能夠讓我找到整個Memo裡的某特定字串

再存入變數中?

順便問一下,去掉網頁的Tag應該怎麼做??
daldal
高階會員


發表:6
回覆:102
積分:226
註冊:2007-06-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-23 14:59:29 IP:61.219.xxx.xxx 未訂閱
擺一個button執行以下程式碼,可以把memo1裡面的網址找出來

[code cpp]
AnsiString tmp = Form1->Memo1->Text; //memo1暫存至tmp
Form1->Memo1->Clear(); //清空memo1,做為存放找到的網址

while(tmp.Pos("a href=")) //執行到找不到為止
{
tmp = tmp.SubString(tmp.Pos("a href=") 8,tmp.Length());
AnsiString weblink = tmp.SubString(0,tmp.Pos(">")-2); //取得網址字串
Memo1->Lines->Add(weblink); //把取得網址放回memo
}

[/code]

若是要去除tag可以運用類似的方式,不斷的找<>,去掉以後,再重新斷行
chrislove87
一般會員


發表:11
回覆:14
積分:5
註冊:2007-05-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-04-23 19:35:56 IP:122.117.xxx.xxx 訂閱
謝謝您的回覆~
但是執行還是不是我預估的結果

做些修改後 則正常了
去TAG的部分還是不太會
我是利用tmp.Delete(tmp.Pos("<"),tmp.Pos(">"))這樣去做
但是都無法成功
===================引 用 daldal 文 章===================
擺一個button執行以下程式碼,可以把memo1裡面的網址找出來

[code cpp]
AnsiString tmp = Form1->Memo1->Text; //memo1暫存至tmp
Form1->Memo1->Clear(); //清空memo1,做為存放找到的網址

while(tmp.Pos("a href=")) //執行到找不到為止
{
tmp = tmp.SubString(tmp.Pos("a href=") 8,tmp.Length());
AnsiString weblink = tmp.SubString(0,tmp.Pos("\"")-1); //取得網址字串
Memo1->Lines->Add(weblink); //把取得網址放回memo
}

[/code]

若是要去除tag可以運用類似的方式,不斷的找<>,去掉以後,再重新斷行
編輯記錄
chrislove87 重新編輯於 2008-04-23 19:36:32, 註解 無‧
chrislove87 重新編輯於 2008-04-23 20:13:39, 註解 無‧
daldal
高階會員


發表:6
回覆:102
積分:226
註冊:2007-06-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-04-24 13:44:59 IP:220.130.xxx.xxx 未訂閱
Delete的用法第一個參數是起始位置
第二個參數是刪除字元數量
所以你的程式碼要修改成結果才會正確

[code cpp]
while(tmp.Pos("<"))
{
tmp.Delete(tmp.Pos("<"),tmp.Pos(">")-tmp.Pos("<") 1);
}
[/code]



系統時間:2024-05-05 8:43:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!