//推荐使用function StrToHtml(str: string): string;内循环仅使用1次。相比StringReplace,使用[rfReplaceAll]是一个满循环。
function StrToHtml(str: string): string;
var i : integer;
begin
Result:= '';
for i:= 1 to Length(str) do
case str[i] of
'&': Result := Result + '&';
'>': Result := Result + '>';
'<': Result := Result + '<';
'"': Result := Result + '"';
' ': Result := Result + ' ';
//#13: Result := Result + '<br>';
else Result := Result + str[i];
end;
end;
function FrmToHtml(str: string):WideString;
begin
Result := str;
Result := StringReplace(Result, '&', '&', [rfReplaceAll]);
Result := StringReplace(Result, '>', '>', [rfReplaceAll]);
Result := StringReplace(Result, '<', '<', [rfReplaceAll]);
Result := StringReplace(Result, '"', '"', [rfReplaceAll]);
Result := StringReplace(Result, ' ', ' ', [rfReplaceAll]);
Result := StringReplace(Result, char(13), '<br>', [rfReplaceAll]);
end;