Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
html parse repeat
#8
Ürün kodundan sonra TD tagleri arasındaki ürün özellikleri istediğinizi gözden kaçırmışım.

Örnek Çıktı

   

Kodlar:

unit Unit1;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,System.RegularExpressions, System.JSON;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Memo1: TMemo;
   Memo2: TMemo;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

function CleanHTMLTags(const S: string): string;
begin
 // Tüm HTML taglerini kaldır
 Result := TRegEx.Replace(S, '<[^>]+>', '', [roIgnoreCase]);
 // Fazla boşluk, satır sonlarını temizle
 Result := TRegEx.Replace(Result, '\s+', ' ', [roIgnoreCase]).Trim;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
 TRMatches, TDMatches: TMatchCollection;
 M, TDMatch: TMatch;
 RowArray, TDArray: TJSONArray;
 RowObj: TJSONObject;
 CleanValue: string;
 HTML:string;
begin
 HTML := memo1.Text; // Html memo1 içerisinde

 TRMatches := TRegEx.Matches(HTML,
   '<TR[^>]*?>(.*?)<\/TR>', [roIgnoreCase, roSingleLine]);

 RowArray := TJSONArray.Create;

 for M in TRMatches do
 begin
   var CodeMatch := TRegEx.Match(M.Value,
     'href="\/bipolar-transistors\/([^">]+)"',
     [roIgnoreCase]);

   if not CodeMatch.Success then
     Continue;

   RowObj := TJSONObject.Create;
   RowObj.AddPair('urun_kodu', CodeMatch.Groups[1].Value);

   TDMatches := TRegEx.Matches(M.Value,
     '<TD[^>]*?>(.*?)<\/TD>', [roIgnoreCase, roSingleLine]);

   TDArray := TJSONArray.Create;

   for TDMatch in TDMatches do
   begin
     CleanValue := CleanHTMLTags(TDMatch.Groups[1].Value);
     if CleanValue <> '' then
       TDArray.Add(CleanValue);
   end;

   RowObj.AddPair('veriler', TDArray);
   RowArray.Add(RowObj);
 end;

 // Sonucu JSON olarak memo2 ye aktar
 memo2.Lines.Clear;
 memo2.Lines.Add(RowArray.Format(2));
end;

end.
Cevapla


Bu Konudaki Yorumlar
html parse repeat - Yazar: ercanskose - 28-10-2025, Saat: 16:46
html parse repeat - Yazar: enigma - 28-10-2025, Saat: 18:42
Cvp: html parse repeat - Yazar: ercanskose - 29-10-2025, Saat: 11:03
html parse repeat - Yazar: emailx45 - 29-10-2025, Saat: 05:06
html parse repeat - Yazar: frmman - 29-10-2025, Saat: 11:49
html parse repeat - Yazar: mrmarman - 29-10-2025, Saat: 16:49
Cvp: html parse repeat - Yazar: bydelphi - 29-10-2025, Saat: 23:50
html parse repeat - Yazar: frmman - 30-10-2025, Saat: 12:05
Cvp: html parse repeat - Yazar: Mr.X - 30-10-2025, Saat: 13:56
Cvp: html parse repeat - Yazar: ercanskose - 04-11-2025, Saat: 12:46

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  HTML Editor m_ekici 1 599 19-01-2025, Saat: 11:05
Son Yorum: bydelphi
  Local HTML Dosyasını Yazdırma Hayati 2 1.171 09-01-2023, Saat: 12:33
Son Yorum: Hayati
  Html veya Xml pdf e çevirme ahmet6513 11 4.990 02-01-2023, Saat: 15:22
Son Yorum: ahmet6513
  Fast Report'da HTML Gösterme Hk. pro_imaj 4 1.770 10-10-2022, Saat: 11:24
Son Yorum: pro_imaj
  Json Parse İşlemi bünyamin68 10 4.829 24-07-2022, Saat: 09:49
Son Yorum: arsl01



Konuyu Okuyanlar: 1 Ziyaretçi