Entwickler-Ecke

Sonstiges (Delphi) - HTML named entities z.B. Umlaute umwandeln


subTiTan - So 05.01.03 14:34
Titel: HTML named entities z.B. Umlaute umwandeln
Hallo,

Ich habe folgendes Problem: ich habe einen HTML-Text der Umlaute und spezialzeichen (sogenannte named entities) als &uuml oder &nbsp etc. enthält.

Gibt es in Delphi eine Funktion, um solche Zeichen umzuwandeln?
Oder hat schon jemand einen Parser geschrieben, der solche Zeichen umwandelt?

Die Liste der named entities kann unter
http://selfhtml.teamone.de/html/referenz/zeichen.htm
abgerufen werden.

CU
SubTiTan


Sledge_Hammer - So 05.01.03 19:33

Moin
also ich weiß nicht ob es so eine funktion gibt, aber ich glaube nicht (vielleicht weiß es jemand besser?!). Ich würde jedenfalls den Text Zeichen für Zeichen durchgehen und jedesmal wenn du auf ein solches Zeichen stößt ersetzt du es durch das entsprechende named entity.
wie du das machst weißt du?

Benni


Alibi - So 05.01.03 19:42

Bau dir einfach 2 große Arrays, einmal die Zeichen und einmal die HTML Strings wie &quote; und geh die in einer Schleife mit StringReplace durch.


subTiTan - Mo 06.01.03 00:46
Titel: Res-File
Mmh, falls ich also wirklich selbst so eine Parser-Funktion schreiben muss, vielleicht sollte ich dann die ganze Liste als Res-File ablegen?
Oder wie mache ich das möglichst dynamisch? In die Registry schreiben wäre wahrscheinlich auch nicht so klug, oder?.
Ein Ini-File ist irgendwie outofdate...

Eine vollständigere Liste findet man übrigens unter:
http://www.w3.org/MarkUp/html-spec/html-spec_14.html

In PHP scheint es dafür übrigens eine Funktion zu geben, kann man php irgendwie mit Delphi kombinieren? Ich müsste sowieso noch einen Parser schreiben, der CSS-Tags auswertet.

Cu
subTiTan

@Alibi, danke schon mal für StringReplace, ich hätte alles mit pos gemacht.


Alibi - Mo 06.01.03 02:11

Warum? Mit Pos machst du dir das nur unnötig schwer (Und den Code von 5-6 Zeilen auf 8-9 Zeilen ;)).