在网上找了不少htmlEncode例子,当然httpapp自带的太弱了,只有这个代码http://www.sharejs.com/codes/delphi/2264跟我的要求相近,不过对含中文的html进行编码就不对了。
现真对这个进行改进。
function MakeSafeHTMLText2(TheText: widestring): string;var Idx: Integer; // loops thru characters of TheText Ch: wideChar; // each charactor in TheTextbegin Result := ''; for Idx := 1 to Length(TheText) do begin Ch := TheText[Idx]; case Ch of '<': Result := Result + '<'; '>': Result := Result + '>'; '&': Result := Result + '&'; '"': Result := Result + '"'; else begin if (Ch < #32) or (Ch >= #127) then // Result := Result + '&#' + IntToStr(Ord(Ch)) + ';' Result := Result + '&#x' + InttoHex(Integer(ch),2) + ';' else Result := Result + Ch; end; end; end; end;
有不足的地方,欢迎指正。