![]() |
AW: StringReplace-Funktion etwas aufbohren
Kannst du mir da auf die Sprünge helfen?
Wenn ich mir Punkte für RegEx geben müsste, hätte ich 0 von 10. Bei Regex101.com: abcd <img ganzvielblödsinnabcdefghistehthier > efghi |
AW: StringReplace-Funktion etwas aufbohren
Anderer Vorschlag:
HTML in 'ne MemoryStream laden und zeichenweise in einen zweiten MemoryStream schreiben. Vor jedem < einen Zeilenumbruch schreiben. Hinter jedem > einen Zeilenumbruch schreiben. Alle übrigen Zeilenumbrüche durch ein Leerzeichen ersetzen. Zweiten MemoryStream in 'ne Stringliste laden. Diese Stringliste enthält nun nur noch Zeilen, die entweder ein HTML-Tag enthalten oder nur aus reinem Text bestehen. StringReplace nur in den Zeilen aus reinem Text ausführen. |
AW: StringReplace-Funktion etwas aufbohren
Wie füge ich denn beides wieder zusammen? Ich brauche am Ende alles zusammen quasi im Originalzustand.
|
AW: StringReplace-Funktion etwas aufbohren
Leerzeichen und Zeilenumbrüche stellen im HTML keine Veränderung dar.
|
AW: StringReplace-Funktion etwas aufbohren
Dann verstehe ich den Ansatz oben nicht und was mir diese zweite StringList bringen soll.
Zitat:
Weil wenn ich das StringReplace auf die StringList ausführe bringt mir das nichts. Ich muss das StringReplace direkt auf den HTML-Content des HtmlViewers ausführen. |
AW: StringReplace-Funktion etwas aufbohren
aber im HTML ist doch ein bild per
Delphi-Quellcode:
in einem TAG und wird somit nicht berührt?!
<img src="data:image/png;base64,...../>
|
AW: StringReplace-Funktion etwas aufbohren
Ich denke das klappt alles nicht. Das zeichenweise Durchgehen könnte sehr lange dauern, weil diese Prozedur auch 3x oder 4x die Sekunde aufgerufen werden kann.
|
AW: StringReplace-Funktion etwas aufbohren
Vielleicht so: (da hier jede menge Informationen zwecks Ablauf fehlen)
Einen Hashwert der HTML erzeugen und mit vorhandenem Hash abgleichen, wenn ungleich eine neue in-memory Datei wie von Delphi.Narium beschrieben erzeugen und anwenden, wenn gleich dann mache nichts. |
AW: StringReplace-Funktion etwas aufbohren
Ich durchsuche das Htmlviewer-Element (den HTML-Datei) live beim Eintippen in ein Eingabefeld.
Die Eingabe wird, wenn gefunden, markiert. Werden nun aber Vorkommen markiet die sich innerhalb eines HTML-Tags befinden, wird das Dokument zerstört. |
AW: StringReplace-Funktion etwas aufbohren
Ja, es wird zwar von RegEx bei HTML abgeraten, aber das liegt vorwiegend an der Verschachtelung von HTML-Tags und daß diese auch noch "defekt" sein dürfen können.
IMG hat aber keine untergeordnete TAGs und selbst bei Strict-HTML kann man das eventuelle schließende </img> ignorieren. Problematisch würde es nur, wenn zwischen <img und src= noch weitere Attribute vorkämen, aber wenn man das ausschließen kann, dann stört sowas ja nicht. :angle2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz