AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

HTML-Element aus String löschen

Ein Thema von Aenogym · begonnen am 15. Jun 2007 · letzter Beitrag vom 15. Jun 2007
Antwort Antwort
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#1

HTML-Element aus String löschen

  Alt 15. Jun 2007, 10:24
hi leute,

ich melde mich mal wieder mit einem problem

ich habe einen string nach folgendem schema:

XML-Code:
<div> huhu </div>


foo</p>
<div id="links">
  <div> blah </div>
  <div> blah </div>
</div>


bar</p>
<div> lala </div>
aus diesem möchte ich das <div id="links"> entfernen, samt inhalt.
das ganze ist eine HTML-datei mit header und allem drum und dran. nur leider nicht ganz xml-valide, weshalb ich ohne weiteres keinen parser einsetzen kann.

mein problem ist, dass die verschachtelten <div>'s mich daran hindern, einfach alles von <div id="links" bis </div> zu löschen. denn es wird ja beim ersten </div> angehalten.
ich habe schon versucht, die verschachtelten divs zu zählen etc. doch leider stehe ich irgendwie auf dem schlauch.
mein programm ist fast fertig und ich müsste dieses eine problem noch bis spätestens 14 uhr in den griff kriegen

falls jemand schnell eine idee hat, wäre ich zutiefst dankbar! wenn ichs vorher selbst schaffe, melde ich mich natürlich hier.

danke euch,
aeno

edit: code bearbeitet
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#2

Re: HTML-Element aus String löschen

  Alt 15. Jun 2007, 10:27
Brauchst ne Zählervariable, die sich bei jedem öffnendem Tag erhöht und bei jedem schließendem erniedrigt. Wenns wieder 0 ist, dann löschen!
Richard Mahr
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: HTML-Element aus String löschen

  Alt 15. Jun 2007, 10:28
Zitat von Tormentor32:
Brauchst ne Zählervariable, die sich bei jedem öffnendem Tag erhöht und bei jedem schließendem erniedrigt. Wenns wieder 0 ist, dann löschen!
das ging schnell

ja, soweit war icha uch schon. naja, ich habe explizit nach divs gezählt.... hm ich probier mal was aus...

danke schonmal

edit: hm... ich such grad einfach nach "<" und ">", aber daran erkenn ich ja keine öffnenden und schließenden tags verdammt.... *denk*

edit2: danke! jetzt hab ichs wenn ich gleich zeit finde, kann ich den code ja hier posten.
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: HTML-Element aus String löschen

  Alt 15. Jun 2007, 11:04
Hallo Steffen,

dieser Beitrag enthält fast schon alles, was du brauchst. Statt der Selektion über getElementsByName() kannst du direkt mit getElementById() arbeiten:

Delphi-Quellcode:
var
  doc: IDispatch;
  e: IHTMLElement;
begin
  doc := GetDocument(Memo.Text);
  with doc as IHTMLDocument3 do
  begin
    e := getElementById('links');
    if Assigned(e) then
      e.outerHTML := '';
    Memo.Lines.Text := documentElement.outerHTML;
  end;
end;
Mit kleineren Anpassungen sollte es so funktionieren. Bin gespannt auf deinen Code...

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:10 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