herkese selamlar
sorum şu
elimde şöyle adresler var diyelim :
http://blabla.com/xx/aa/x.html
http://blabla.com/xx.html
http://blabla.com/xxq/qww/
blabla.com/cc.html
blabla.com/xx/dd.html
yani bu türl adreslerden http://blabla.com/'u nasıl çıkartabilirim.
şimdiden teşekkürler
bir url'nin kökünü almak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 24
- Kayıt: 14 Tem 2004 05:18
Cevap verdiğiniz için teşekkürler ancak ne demek istediğini tam anlamadım..
Mesela kullanıcı şöyle bir url girecek :
http://bilmemne.com/xx/aa/x.html
benim burdan
http://bilmemne.com/'u öğrenmem lazım.
yada kullanıcı şu şekilde de girebilir bilmemne.com/xx/aa/x.html
bilmemne.com/ şeklinde adresin kökünü nasıl öğrenebilirim..
teşekkürler..
Mesela kullanıcı şöyle bir url girecek :
http://bilmemne.com/xx/aa/x.html
benim burdan
http://bilmemne.com/'u öğrenmem lazım.
yada kullanıcı şu şekilde de girebilir bilmemne.com/xx/aa/x.html
bilmemne.com/ şeklinde adresin kökünü nasıl öğrenebilirim..
teşekkürler..
- MercilessTurk
- Üye
- Mesajlar: 94
- Kayıt: 28 Eki 2005 10:14
ilkönce "http://" yi stringin içinde aratın bulursanız stringden çıkarın. daha sonra "/" işaretini aratın ve kendisi dahil stringin sonuna kadar kalan kısmı silin. Daha sonra elinizde "abc.com" ya da "www.abc.com" gibi bir string kalır. İsterseniz" www" yu da stringinizde varsa siliniz. ve stringinizin başına "http://" sonunada "/" ekleyin. tabi bunları yapmak için @mrmarman ın da belirttiği gibi POS() LENGTH() COPY() fonksiyonlarını kullanmalısınız. forumda bu fonskiyonlar fazlasıyla konuşuldu arama yaparak kullanımlarını öğrenebilirsiniz.
- Çay molamda, "bana da lazım olur bir zaman, hazırda bulunsun, o zaman vaktim olmaz vs." deyip yapayım dedim... (bahane bu ya)
Kullanımı için örnek : Mesela bu adresler bir TMemo'da olsun.
Afiyet olsun...

Kod: Tümünü seç
Function URLKokBul( URL:String ):String;
begin
// ilk olarak kontrol kolaylığı için sağındaki solundaki
// boşlukları atıp, küçük harfe dönüştürücez.
URL := Trim(LowerCase(URL));
If URL = '' then begin
// içerik boş ise "*" döndürüyoruz...
Result := '*';
Exit;
end;
Result := '';
// Garantilemek için sonunda yoksa bir tane "/" ekliyoruz... :)
If URL[Length(URL)] <> '/' then URL := URL + '/';
If Pos('http', URL) = 1 then begin
// http ile başlıyorsa yapılacaklar..
// üç kere '/''a kadar olan kısmı alırsak kökü elde etmiş oluyoruz..
//#1 "http:/"
Result := Result + Copy(URL, 1, Pos('/', URL));
Delete(URL, 1, Pos('/', URL));
//#2 "http://"
Result := Result + Copy(URL, 1, Pos('/', URL));
Delete(URL, 1, Pos('/', URL));
//#3 "http://www.xxx.uuu/"
Result := Result + Copy(URL, 1, Pos('/', URL));
end else begin
// http ile başlamamış ise başına http ekleyip ilk '/'a kadar alıyoruz...
Result := 'http://' + Copy(URL, 1, Pos('/', URL));
end;
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
Var
Sayac : Integer;
begin
For Sayac := 0 to Memo1.Lines.Count-1 do begin
Memo1.Lines[Sayac] := URLKokBul( Memo1.Lines[Sayac] );
end;
end;
-
- Üye
- Mesajlar: 24
- Kayıt: 14 Tem 2004 05:18