(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.119 Beiträge
Delphi 11 Alexandria
|
4. Mai 2003, 16:41
Moin TheOmega,
so dürfte das schneller gehen:
Delphi-Quellcode:
function HTMLSpecialChars(const AsHTMLFile : string) : string;
var
i : integer;
iLen : integer;
pSrc : PChar;
pDest : PChar;
begin
// erforderliche Buffergrösse ermittlen
iLen := 0;
for i := 1 to length(AsHTMLFile) do
begin
case AsHTMLFile[i] of
'<','>' : inc(iLen,4);
'&' : inc(iLen,5);
//... und so weiter für jedes Zeichen
else inc(iLen);
end;
end;
// Buffer initialisieren
Result := StringOfChar(#32,iLen);
pSrc := @AsHTMLFile[1]; // oder PChar(AsHTMLFile);
pDest := PChar(Result); // oder @Result[1];
for i := 1 to length(AsHTMLFile) do
begin
case pSrc^ of
'<' : begin
StrLCopy(pDest,'&',4);
inc(pDest,4);
end;
'>' : begin
StrLCopy(pDest,'&',4);
inc(pDest,4);
end;
'&' : begin
StrLCopy(pDest,'&',5);
inc(pDest,5);
end;
//... und so weiter für jedes Zeichen
else begin
pDest^ := pSrc^;
inc(pDest);
end;
end;
inc(pSrc);
end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|
|
Zitat
|