Optymilizacja kodu HTML

0

Jak mogę bardziej zoptymalizować kod HTML?

Zroobiłem tak:

procedure KompresujHTML(NazwaPliku:String);
 var
  i:integer;
begin
with Form1.ListBox1.Items do
 begin
  Clear;
  LoadFromFile(NazwaPliku);

 for i:=0 to Count-1 do
  begin
   if i=Count-1 then
    Form1.Memo.Lines.Add(Strings[i]) else
   if (Copy(Strings[i],Length(Strings[i]),1)='>') and (Copy(Strings[i+1],1,1)='<') then
    Form1.Memo.Lines.Text:=Form1.Memo.Lines.Text+Strings[i]
   else
    Form1.Memo.Lines.Add(Strings[i]);
  end;
 end;
  Form1.Memo.Lines.SaveToFile('11.htm');
end;

Ten kod sprawdza czy w aktualnej linijce na końcu wyrazu znajduje się znak > ,a w drugiej na początku < wtedy łączy te wyrazy.

Jakie są tagi w HTML-u i jak je inteligentnie usunąć?
np. , //--> itp.

/* Wstawiaj kod w tagi <delphi>Kod</delphi> to nie będzie ci ucinało. Jak Adam doda kodzik zamieniający < i > to będzie działać... tylko nie wiem dlaczego jeszcze nie wstawił. m. D. */

0

Np. tak, że jeżeli są takie rzeczy:

<table></table>

To je usuwasz.

0

Nie usuwa.Przeanalizuj kod od nowa bo jak tutaj go omówię to utnie się w połowie.
To to małe piwo,ale mam problem z inteligentnym usuwaniem komentarzy , // itp.

0

Hmm o ile mi wiadomo, HTML nie ma takich komentarzy: //

Komentarz w HTMLu:

<font color="blue"><!--
komentarz
--></span>

0

Dobra spok nie jestem orłem w HTML-u ,ale jak się pozbyć tych komentarzy bo z inteligentnym usuwaniem enterów sobie poradziłem.

0

Proponuję poczytać o automatach skończonych i wyrażeniach regularnych. Wyszukiwanie pewnego wzorca i usuwanie (tak jak jest wbudowane w PHP) jest również w delphi możliwe. Wystarczy więc (w przypadku komentarzy) użyć takiego wyrażenia regularnego:

'<!--.*-->'

Robiąc to dla konkretnego przykładu (tzn. tutaj dla konkretych tagów) możesz w Delphi napisać znacznie bardziej efektywny algorytm budując automat skończony ręcznie (nie musisz konstruować wyrażenia tylko od razu maszynę).

0

Hmm przede wszystkim to się nazywa "usuwanie enterów", żadnej inteligencji w tym nie widze :)

Co do usuwania komentarzy: trzeba by napisać jakąś funkcje, która usuwa wszystko pomiędzy tymi znakami: wraz z nimi.

PS: posta tego pisałem jak jeszcze nie było posta Dryo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1