Einzelnen Beitrag anzeigen

ringli

Registriert seit: 7. Okt 2004
504 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: In HTML-Dateien Umlaute / Sonderzeichen ersetzen

  Alt 31. Okt 2008, 05:51
@nahpets:
Danke, deine Idee ist ja genial. Habe das testweise mal so gelöst:
Delphi-Quellcode:
var
  I : Integer;
  INPUT_FILE : TStringList;
  OUTPUT_FILE : TStringList;
  LengthOfFile : Int64;
  OneCharOfFile : Byte;
  HtmlTag : Boolean;
begin
  HtmlTag := False;

  INPUT_FILE := TStringList.Create;
  INPUT_FILE.LoadFromFile('D:\Test\index.html');

  OUTPUT_FILE := TStringList.Create;
  OUTPUT_FILE.LineBreak := '';

  LengthOfFile := Length(INPUT_FILE.Text);

  for i := 0 to LengthOfFile - 1 do
    begin
      OneCharOfFile := Ord(INPUT_FILE.Text[i + 1]);

      case OneCharOfFile of
        // <
        60 : HtmlTag := True;
        // >
        62 : HtmlTag := False;
      end;

      if not HtmlTag then
        begin
          case OneCharOfFile of
            // ä
            228 : OUTPUT_FILE.Append('&auml;');
            // Ä
            196 : OUTPUT_FILE.Append('&Auml;');
            // ö
            246 : OUTPUT_FILE.Append('&ouml;');
            // Ö
            214 : OUTPUT_FILE.Append('&Ouml;');
            // ü
            252 : OUTPUT_FILE.Append('&uuml;');
            // Ü
            220 : OUTPUT_FILE.Append('&Uuml;');
          else
            OUTPUT_FILE.Append(INPUT_FILE.Text[i + 1]);
          end;
        end
      else
        begin
          OUTPUT_FILE.Append(INPUT_FILE.Text[i + 1]);
        end;
    end;

  OUTPUT_FILE.SaveToFile('D:\Test\index_neu.html');

  FreeAndNil(INPUT_FILE);
  FreeAndNil(OUTPUT_FILE);
end;
Vielleicht hat ja jemand noch Ideen wie man das Ganze optimieren kann.

@Xong:
Ich selber brauche das nicht da ich mit Webseitenerstellung nichts mache. Ein Bekannter hatte mich gefragt ob ich ihm so was programmieren könnte. Für mich ist das also eher eine Machbarkeitsstudie. Aber danke für dein Angebot. Vielleicht komme ich ja doch mal darauf zurück.
  Mit Zitat antworten Zitat