folder Tahribat.com Forumları
linefolder Delphi - Pascal
linefolder Delphi Html Parsing Hakkında



Delphi Html Parsing Hakkında

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    Merhaba Arkadaşlar,

    javada ve php de kullandığım bazı classlarda

    $renk = $rnk->('div[id=renkler]',0);

    gibi bir kodla bulduğu div elementi ve içinde id tagı varsa ve bu tag renklere eşitse o divin içeriğini $renk değişkenine aktarır.

    delphide bunu yapabilecek bir komponent var mı? hazır birşey olursa güzel olur olmazsa oturup yazmaktan başka çare yok ama uğraşmak istemiyorum bununla bilen varsa yardımlarınızı bekliyorum...


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Hmm hocam regex ile olmazmı?

     


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    regex yapılabilir. fakat bu her web sitesi için yeniden regex demek olur.

    akşam java ve php deki class ları inceleyip delphide o işlemlere uygun birşey yazmayı deniyecem. inşallah güzel bir sınıf çıkarırım.


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    Function ArayiAl(text, ilk, son:String ): WideString;

    begin

       Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);

       Result := Copy(Text, 1, Pos(Son, Text)-1);

    end;

     

     

    Geçici Çözüm


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kipnos
    kipnos's avatar
    Kayıt Tarihi: 28/Nisan/2014
    Erkek

    Bu fonksiyonları kullanabilirsin,

    function ExtractTextInsideGivenTagEx(const Tag, Text:string):string;var
      StartPos1, StartPos2, EndPos: integer;
      i: Integer;begin
      result :='';
      StartPos1 := Pos('<'+ Tag, Text);
      EndPos := Pos('+ Tag +'>', Text);
      StartPos2 :=0;for i := StartPos1 + length(Tag)+1to EndPos doif Text[i]='>'thenbegin
          StartPos2 := i +1;
          break;end;if(StartPos2 >0)and(EndPos > StartPos2)then
        result := Copy(Text, StartPos2, EndPos - StartPos2);end;

    Örnek kullanım

    ExtractTextInsideGivenTagEx('tag','blah blah blahtext I want to keepblah blah blah');

    Sonuç Çıktısı:
    text I want to keep
    kipnos tarafından 27/May/14 12:12 tarihinde düzenlenmiştir
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek
    kipnos bunu yazdı

    Bu fonksiyonları kullanabilirsin,

    function ExtractTextInsideGivenTagEx(const Tag, Text:string):string;var
      StartPos1, StartPos2, EndPos: integer;
      i: Integer;begin
      result :='';
      StartPos1 := Pos('<'+ Tag, Text);
      EndPos := Pos('+ Tag +'>', Text);
      StartPos2 :=0;for i := StartPos1 + length(Tag)+1to EndPos doif Text[i]='>'thenbegin
          StartPos2 := i +1;
          break;end;if(StartPos2 >0)and(EndPos > StartPos2)then
        result := Copy(Text, StartPos2, EndPos - StartPos2);end;

    Örnek kullanım

    ExtractTextInsideGivenTagEx('tag','blah blah blahtext I want to keepblah blah blah');

    Sonuç Çıktısı:
    text I want to keep

    benim amacım gelişmiş bir komponent ti sorunumu çözmüştüm. benimkinden daha gelişmiş bir fonksiyon güzelmiş ama tam olarak istediğim değil neyse şu oyunu bitireyim bi class yazacam kesin bu iş için


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
Toplam Hit: 2060 Toplam Mesaj: 6