AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Html codierte Umlaute PERFORMANT decoden?
Thema durchsuchen
Ansicht
Themen-Optionen

Html codierte Umlaute PERFORMANT decoden?

Offene Frage von "richard_boderich"
Ein Thema von richard_boderich · begonnen am 20. Sep 2007 · letzter Beitrag vom 9. Sep 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

Html codierte Umlaute PERFORMANT decoden?

  Alt 20. Sep 2007, 06:41
Moin DP-Kollegen!

Ich habe ein kleines Problem mit Html-Umlauten einer Kontaktliste, die ich aus einer geparsten Intranetseite ausgelesen hab.

"Bärchen" wird zum Beispiel zu "Bärchen"

Gibt es eine Möglichkeit eine schnelle Dekodierung durchzuführen, die mir den originalen Namen liefert?
Ich habe schon Urldecode von den Indys probiert, jedoch hat diese Funktion rein garnichts bei mir bewirkt.
Zur Not kann ich auch Stringreplace verwenden, ber vielleicht hat ja jemand einen besseren Vorschlag dafür.

Gruß Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Html codierte Umlaute PERFORMANT decoden?

  Alt 20. Sep 2007, 06:52
URLDecode macht auch was anderes.
Du brächtest eine Delphi-Version von html_entity_decode()
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#3

Re: Html codierte Umlaute PERFORMANT decoden?

  Alt 20. Sep 2007, 07:09
Und sowas gibt es wohl nicht in Delphi?

Ok danke dir, also werd ich doch Stringreplace verwenden muessen.

Gruß Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Html codierte Umlaute PERFORMANT decoden?

  Alt 20. Sep 2007, 07:12
Vielleicht hat jemand so eine Funktion geschrieben, mir wäre aber keine bekannt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Html codierte Umlaute PERFORMANT decoden?

  Alt 20. Sep 2007, 07:49
Zitat von richard_boderich:
Und sowas gibt es wohl nicht in Delphi?
Ich denke in der Utility Library ist sowas vorhanden.

Und wenn du deine HTML-Seite vernünftig mit einen HTML-Parser einliest (THTML, oder MSHTML-Unit stellt sich dieses Problem nicht da diese Wandlung schon von diesen Komponenten durchgeführt werden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
marabu

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

Re: Html codierte Umlaute PERFORMANT decoden?

  Alt 20. Sep 2007, 08:35
Hallo,

wer MSHTML eingebunden hat, der kann seine character entities einfach so eliminieren:

Delphi-Quellcode:
function HtmlToAnsi(const s: string): string;
var
  doc: OleVariant;
begin
  doc := CoHTMLDocument.Create;
  doc.open;
  doc.Write(s);
  doc.Close;
  Result := doc.body.innerText;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#7

Re: Html codierte Umlaute PERFORMANT decoden?

  Alt 20. Sep 2007, 09:55
@Bernhard

Die Utility Library sieht gut aus. Werde es mal testen.

@Marabu
MSHtml? Ist das ein Delphi Unit? Hast du eventuell weitergehende Erfahrungen damit. Mich wuerde vor
allem Interessieren wie groß der Overhead ist?

Gruß Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Html codierte Umlaute PERFORMANT decoden?

  Alt 20. Sep 2007, 10:13
Zitat:
MSHtml? Ist das ein Delphi Unit? Hast du eventuell weitergehende Erfahrungen damit. Mich wuerde vor
allem Interessieren wie groß der Overhead ist?
Ist eine Wrapper um ne System-Bibliothek
Markus Kinzler
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Html codierte Umlaute PERFORMANT decoden?

  Alt 8. Sep 2008, 22:24
Hallo.

Ich habe das selbe Problem. Ich brauche unbedingt eine Funktion, die HTML-Entities dekodiert. Hier ist mir die Geschwindigkeit eigentlich ziemlich egal, aber es ist wichtig, dass alle Zeichen vertreten sind. Ich möchte also keine unendlich lange Funktion haben, in der alle möglichen Entities einfach ersetzt werden, da hier die Gefahr besteht, dass Entities wie z.B. € vergessen werden. Es soll also eine universelle Funktion sein, die nicht veraltet.

Die Utilities habe ich mit einem Tool komplett nach "HTML", "Decode" und "Entities" durchsucht - keine relevanten Treffer. Es scheint also keine Funktion dort zu geben, die html_entity_decode von PHP ersetzt.

Ich werde das mit diesem OleVariant auch mal ausprobieren. MS-HTML und OLE hört sich für mich irgendwie nach Inkompatibilität oder gar Abhängigkeit von Microsoft's Internet Explorer an... Bin ich da auf dem Holzweg?

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Html codierte Umlaute PERFORMANT decoden?

  Alt 9. Sep 2008, 00:10
Ja, da bist du voll vom IE abhängig - macht aber auch nicht so viel, solange du unter Windows bleibst, weil der IE sowieso immer dabei ist. Ich würde eine Hashmap in Verbindung mit einer eigenen Funktion empfehlen. In die Hashmap kommen alle Namens-Entitäten rein (so wie &, < usw.) und zusätzlich musst du dich noch um die Nummern-Entitäten wie * und B kümmern (oder so ähnlich, schau einfach mal auf SelfHTML).
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:43 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