Delphi把HTML转换成纯文本格式

Delphi 专栏收录该内容
1 篇文章 0 订阅

 网上很多把HTML转换成纯文本格式的方法很多思路都是用正则表达式或者分析html代码替换的方法。

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

  1. uses
  2.   MSHTML, ActiveX, OleCtrls, Variants,  SysUtils;
  3.   function HtmlToText(HtmlText: WideString): WideString;
  4. implementation
  5. function HtmlToText(HtmlText: WideString): WideString;
  6. var
  7.   V: OleVariant;
  8.   Document: IHTMLDocument2;
  9. begin
  10.   Result := HtmlText;
  11.   if HtmlText = '' then Exit;
  12.   CoInitialize(nil);
  13.   Document := CoHTMLDocument.Create  as IHtmlDocument2;
  14.   try
  15.     V := VarArrayCreate([00], varVariant);
  16.     V[0] := HtmlText;
  17.     Document.Write(PSafeArray(TVarData(v).VArray));
  18.     Document.Close;
  19.     Result := Trim(Document.body.outerText);
  20.   finally
  21.     Document := nil;
  22.     CoUninitialize;
  23.   end;
  24. end;
  25. initialization
  26.   OleInitialize(nil);
  27. finalization
  28.   OleUninitialize;

 

注意:IHtmlDocument2如果在线程内部用,在构造函数生成IHtmlDocument2一个接口,容易出现mshtml.dll和ntdll.dll错误,此错误不是每次发生。

  • 0
    点赞
  • 1
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值