AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

HTML Tags aus String entfernen

Ein Thema von Sascha_OW · begonnen am 21. Feb 2006 · letzter Beitrag vom 21. Feb 2006
Antwort Antwort
Sascha_OW

Registriert seit: 4. Aug 2005
Ort: Owschlag
129 Beiträge
 
Delphi 2005 Professional
 
#1

HTML Tags aus String entfernen

  Alt 21. Feb 2006, 11:58
Hallo,

ich habe folgendes Problem: Ich habe einen String in dem eine Zeile HTML-Code drin ist. Jetzt die Frage, wie bekomme ich die Tags ab besten und schnellsten weg. Ich habe da ein Datumsbereich im HTMLcode, ein Titelbereich und einen Text. Und die 3 Sachen würde ich da gerne rausbekommen.
Ich habe mir überlegt einfach eine Schleife durchlaufen zulassen die als erstes nach dem '<' sucht und dann weitersucht so lange ich sie ein '>' findet und dann wieder von vorn beginnt solange bis sie nichts mehr findet. Aber was ist wenn im Titel oder im Text ein '>' odeer '<' drin ist, dann habe ich nur Fehler.
Beispiel des HTML String:
[delphi]<table width="500" border="1"><tr><td>Am 21.02.2006 um 11:53:26: test
test</td></tr></table>
Sascha Schwarz
Kostenlose SMS unter:
http://www.smsjunky.de
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: HTML Tags aus String entfernen

  Alt 21. Feb 2006, 12:04
Zitat von Sascha_OW:
Aber was ist wenn im Titel oder im Text ein '>' odeer '<' drin ist, dann habe ich nur Fehler.
Das darf er nicht. < und > muessen, wenn sie als Zeichen angezeigt werden sollen, als Entities ausgegeben werden. Sprich, die muessen als &lt; und &gt; vorliegen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: HTML Tags aus String entfernen

  Alt 21. Feb 2006, 12:06
in einem html Text sollte IMHO kein > oder < vorhanden sein.
Diese Zeichen sollten als .. kodiert sein siehe hier:

http://de.selfhtml.org/html/referenz...#benannte_html

Grüße
Klaus


[edit] war jemand schneller ;o) [/edit]
Klaus
  Mit Zitat antworten Zitat
Sascha_OW

Registriert seit: 4. Aug 2005
Ort: Owschlag
129 Beiträge
 
Delphi 2005 Professional
 
#4

Re: HTML Tags aus String entfernen

  Alt 21. Feb 2006, 12:25
kk, dann gehen wir davon aus das diese zeichen nicht mehr vorhanden sind. Kann man die dann rausfiltern mit einer while schleife und einer for schleife
Sascha Schwarz
Kostenlose SMS unter:
http://www.smsjunky.de
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: HTML Tags aus String entfernen

  Alt 21. Feb 2006, 12:46
du solltest den String durchsuchen

**
führende Leerzeichen aus dem String entfernen
Schauen ob das ersten Zeichen ein '<' ist, wenn nicht -> der Text fängt an
der Text geht so lange bis ein '<' kommt. Text speichern (String, Stringlist)
wenn das erste Zeichen ein '<' ist, das zugehörige '>' finden.
Den String kürzen um die Anzahl der Zeichen "<Tag>"

gehen zu *** bis das Ende des Strings erreicht ist


So stelle ich mir das grob vor.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Sascha_OW

Registriert seit: 4. Aug 2005
Ort: Owschlag
129 Beiträge
 
Delphi 2005 Professional
 
#6

Re: HTML Tags aus String entfernen

  Alt 21. Feb 2006, 12:51
wie ist denn der Befehl um einzene Buchstaben aus einem String zu löschen?
Sascha Schwarz
Kostenlose SMS unter:
http://www.smsjunky.de
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: HTML Tags aus String entfernen

  Alt 21. Feb 2006, 13:03
Zitat von Sascha_OW:
wie ist denn der Befehl um einzene Buchstaben aus einem String zu löschen?
Das kannst du mittels Delphi-Referenz durchsuchenDelete oder Delphi-Referenz durchsuchenCopy umsetzen.
  Mit Zitat antworten Zitat
Sascha_OW

Registriert seit: 4. Aug 2005
Ort: Owschlag
129 Beiträge
 
Delphi 2005 Professional
 
#8

Re: HTML Tags aus String entfernen

  Alt 21. Feb 2006, 13:16
delete (Zeile, x, 1); So habe ichd as jetzt gemacghtz, zeile ist der String und x die stelle, aber irgendwie will das nicht, das löscht irgedwie den 1, 3 ,5 buchstaben
Sascha Schwarz
Kostenlose SMS unter:
http://www.smsjunky.de
  Mit Zitat antworten Zitat
Sascha_OW

Registriert seit: 4. Aug 2005
Ort: Owschlag
129 Beiträge
 
Delphi 2005 Professional
 
#9

Re: HTML Tags aus String entfernen

  Alt 21. Feb 2006, 13:21
so habe das jetzt anders gelöst habe die fertige function:
Delphi-Quellcode:
function withouttags (Zeile: string): string;
var i,anfang, ende: integer;
begin
    tag_gefunden := true;
    For i := 1 to length(zeile) do begin
        If zeile[i] = '<then anfang := i;
        If zeile[i] = '>then begin
           ende := i;
           delete (Zeile,1 , ende);
        end;
    end;
    result := zeile;
end;
EDIT:

Delphi-Quellcode:
function withouttags (Zeile: string): string;
var i,anfang, ende: integer;
begin
    i := 0;
    While i < length (zeile) do begin
        If zeile[i] = '<then anfang := i;
        If zeile[i] = '>then begin
           ende := i;
           delete (Zeile,anfang , ende );
           i := 1;
        end else inc(i);

    end;
    result := zeile;
end;
die 2. ist besser
Sascha Schwarz
Kostenlose SMS unter:
http://www.smsjunky.de
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz