AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Umlaute in HTML konforme Texte konvertieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umlaute in HTML konforme Texte konvertieren

Ein Thema von kaju74 · begonnen am 10. Mär 2010 · letzter Beitrag vom 20. Mai 2010
Antwort Antwort
Seite 1 von 2  1 2      
kaju74

Registriert seit: 22. Okt 2003
185 Beiträge
 
#1

Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 13:15
Hallo.

Habe zwar gesucht, das Richtige war aber irgendwie nicht dabei (oder ich sollte schleunigst in's Bett .

Gibt es eine Delphi-Routine, mit der ich einen String, der Umlaute enthält, in's HTML-Derivat umwandeln kann?

Also z.B. "Änderung" in "Änderung"?

In der HTTPApp-Unit gibt's zwar eine Routine, die das macht, allerdings nur teilweise für Sonderzeichen und
nicht direkt für Umlaute.

Danke & Gruß,
- kaju
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 13:16
Ich würde das selbst via StringReplace machen. Muss auch zugeben, dass ich keine andere Methode kenne, die das machen würde
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
kaju74

Registriert seit: 22. Okt 2003
185 Beiträge
 
#3

Re: Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 13:21
Hallo.

Danke...das wäre natürlich die Alternativ...dachte, vielleicht gibt's mittlerweile auch was "natives", das ich noch nicht kenne...

Lieben Gruß,
- kaju
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 13:34
Nur eine spontane Idee:
Delphi-Quellcode:
function Umlaute2HTML(const Text: string): string;
var strStream: TStringStream;
    i: integer;
begin
  strStream := TStringStream.Create('');
  try
    for i := 1 to Length(Text) do
      case Text[i] of
        'ä': strStream.Write('ä',6);
        'Ä': strStream.Write('Ä',6);
        'ö': strStream.Write('ö',6);
        'Ö': strStream.Write('Ö',6);
        'ü': strStream.Write('ü',6);
        'Ü': strStream.Write('Ü',6);
        else
          strStream.Write(Text[i],1);
      end;
    Result := strStream.DataString;
  finally
    strStream.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
kaju74

Registriert seit: 22. Okt 2003
185 Beiträge
 
#5

Re: Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 14:17
Danke...dann werde ich das erstmal so nehmen...

Lieben Gruß,
- kaju
  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
 
#6

Re: Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 14:26
Denke aber daran, dass es da weitaus mehr gibt. Bei normalem Text wären evtl. ß (= &szlig, & (= &amp, < (= &lt, > (= &gt und € (= &euro noch sinnvoll.
Die anderen Sonderzeichen wie © (= &copy & Co. werden in normalen Text wohl nicht vorhanden sein.
  Mit Zitat antworten Zitat
kaju74

Registriert seit: 22. Okt 2003
185 Beiträge
 
#7

Re: Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 14:35
Ja danke...da das für ein "internes" Tool ist, weiß ich, das solche Zeichen nicht vorkommen...deshalb ja auch die Frage, ob's da nicht was fertiges (von Delphi) gibt, das dann auch schön alles unterstützt....

Lieben Gruß,
- kaju
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 14:56
warum nicht mit UTF8encoding den entsprechenden String erstellen?

Dieses "Schlabbern" von Zeichen führt früher oder später zu Ärger und dann sucht man sich einen Wolf weil bisher doch alles so wunderbar funktionierte.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
kaju74

Registriert seit: 22. Okt 2003
185 Beiträge
 
#9

Re: Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 15:49
Blöde Frage, aber wie soll das gehen?

Gruß,
- kaju
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Umlaute in HTML konforme Texte konvertieren

  Alt 10. Mär 2010, 16:16
entschuldige, ich hatte mich vergaloppiert, UTF8Encode ist natürlich nicht Deine Lösung.

Gruß
K-H

edit:
hilft Dir das vllt. weiter:
Delphi-Quellcode:
if length(ins)>0 then
    for i:=1 to length(ins) do
      if ord(ins[i])<128 then begin { ist ASCII-Zeichen }
        if ord(ins[i])>$2F then begin
          case ins[i] of { noch ein paar Sonderzeichen }
            ':' : dumm:='&#'+inttostr(ord(ins[i]))+';';
            ';' : dumm:='&#'+inttostr(ord(ins[i]))+';';
            '<' : dumm:='&#'+inttostr(ord(ins[i]))+';';
            '=' : dumm:='&#'+inttostr(ord(ins[i]))+';';
            '>' : dumm:='&#'+inttostr(ord(ins[i]))+';';
            '?' : dumm:='&#'+inttostr(ord(ins[i]))+';';
            else dumm:=ins[i];
          end;{case-------------------------------}
          dummy:=dummy+dumm;
        end
        else begin { ist ASCII-Sonderzeichen }
          dumm:='&#'+inttostr(ord(ins[i]))+';';
          dummy:=dummy+dumm;
        end
      end {----                          7-Bit Zeichen}
      else begin {ist 8Bit Zeichen }
        dumm:='&#'+inttostr(ord(ins[i]))+';';
        dummy:=dummy+dumm;
      end;
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 14:02 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