Tagi HTML
Adam Boduch
Wycinanie tagów HTML'a. Nie ma za bardzo co się rozpisywać - oto kod :)
function TMainForm.StripTags(HTML: string): string;
var
i : Integer;
TagOpened : Boolean;
begin
TagOpened := False;
Result := '';
for I := 1 to Length(HTML) do
begin
if HTML[i] = '<' then // jezeli znak to <...
begin
TagOpened := True; //... zmien wlasciwosc na true
continue; //...nie rob juz nic
end
else if (HTML[i] = '>') then //..jezeli znak to >
begin
TagOpened := False; //...wylacz wlasciwosc
continue;
end
else
{ jezeli wlasciwosc nie jest wlaczona dodaj kolejna
litere do rezulatatu wykonania tej funkcji }
if not TagOpened then
Result := Result + HTML[i];
end;
end;
Zasada działania jest prosta: funkcja usuwa wszelkie znaczniki HTML'a ze zmiennej HTML. Jeżeli pętla analizująca tekst napotka na znak rozpoczęcia tagu - < to zmienia wartość zmienne TagOpened na True - jeżeli napotka na znak zakończenia tagu zmienia wartość zmiennej na False. W przeciwnym wypadku jeżeli wartość TagOpened jest FALSE dodaje do rezultatu wykonania kolejną literkę. Na początek możesz nie zrozumieć, ale to naprawdę nie jest nic trudnego. Zwyczajnie program pomija litry, które są zawarte pomiędzy znakami < i >. Wywołanie tej funkcji:
memHTMLSource.Text := StripTags(memHTMLSource.Text);
memHTMLSource to komponent TMemo z kodem HTML'a.
Źródła programu możesz ściągnąć stąd:
@ZIOMBER, co to jest noxx_main ?
zobacz to: http://tinyurl.com/hymmv
a co jak, np. :
uan
jeszcze czego
Albo ściągnijcie sobie unit noxx_main i użyjcie procedury:
delete_html_tags_in_memo
lub
delete_html_tags_in_richedit