21. 4. 2014
Plain text z HTML textu
Funkční fragment kódu, který umí vzít HTML kód a "vytáhnout" z něj očištěný text. Je jasné, že se ztratí všelijaké formátování typu barvy, bold, italic atd. atd.
Je závislé na instalaci jádra Microsoft Internet Exploreru. Tedy nebude fungovat na OS X, iOS, Androidu apod.
Testováno v Delphi XE3 a XE6, ale mělo by fungovat v libovolné verzi.
uses
System.Variants, System.Win.ComObj, Winapi.ActiveX, MSHTML;
function GetPlainText(const AHtml: string): string;
var
LDocument: IHtmlDocument2;
LVariantArray: Variant;
begin
LDocument := CreateComObject(CLASS_HTMLDocument) as IHtmlDocument2;
LVariantArray := VarArrayOf([AHtml]);
LDocument.write(PSafeArray(TVarData(LVariantArray).VArray));
LDocument.close;
Result := (LDocument.body as IHTMLBodyElement).createTextRange.text;
end;
Štítky: Delphi