abc

博客园 首页 新随笔 联系 订阅 管理
网上很多把HTML转换成纯文本格式的方法很多思路都是用正则表达式或者分析html代码替换的方法。

本文是利用IE完成转换,即利用IHTMLDocument2接口。

Denon天Denon龙Denon 转换结果:

uses MSHTML;

function HtmlToText(HtmlText: WideString): WideString;
var
  V: OleVariant;
  Document: IHTMLDocument2;
begin
  Result := HtmlText;
  if HtmlText = '' then Exit;
  CoInitialize(nil);
  Document := CoHTMLDocument.Create  as IHtmlDocument2;
  try
    V := VarArrayCreate([0, 0], varVariant);
    V[0] := HtmlText;
    Document.Write(PSafeArray(TVarData(v).VArray));
    Document.Close;
    Result := Trim(Document.body.outerText);
  finally
    Document := nil;
    CoUninitialize;
  end;
end;

注意:IHtmlDocument2如果在线程内部用,在构造函数生成IHtmlDocument2一个接口,容易出现mshtml.dll和ntdll.dll错误,此错误不是每次发生。
posted on 2018-02-09 15:26  &大王叫我来巡山&  阅读(785)  评论(0)    收藏  举报