如何将html文件转化为txt,要保留原来的段落格式,谢谢(50分)

  • 主题发起人 主题发起人 pigpig
  • 开始时间 开始时间
你可以调用Word的自动化,让Word来转换此文件。
 
你的分给得太少,再加100分,我就给你个例子
 
再加50分program给个例子吧
 
给我个email,我给你发过去
 
能给我一份吗?mail to :loopy@netease.com
 
怎么都嫌别人分少?
这是我的程序的一部分:
(注意:为避免html语法造成的麻烦,其中的大小于符号均为全角,copy后请自行修改)
1)首先要一个字符串替换函数:
procedure stringreplaceall(var text: string; const ss, ds: string);
var
p: integer;
begin
while pos(ss, text) > 0 do
begin
p := pos(ss, text);
delete(text, p, length(ss));
insert(ds, text, p);
end;
end;
2)然后是转化部分(假设在一个richedit中进行):
procedure TForm1.htmtotxt1Click(Sender: TObject);
var
sels,sele: longint;
s: string;
begin
s := richedit1.Text;
screen.Cursor := crHourGlass;
while pos('<', s) <> 0 do
begin
sels := pos('<', s);
sele := pos('>', s);
if sele = 0 then break;{没有 '>'}
if sels > sele then break;{像这样: '>...<'}
delete(s, sels, sele-sels+1);{删除 '<...>'}
end;
stringreplaceall(s, ' ', ' ');
stringreplaceall(s, '"', '"');
stringreplaceall(s, '<', '<');
stringreplaceall(s, '>', '>');
richedit1.Text := s;
richedit1.perform(wm_vscroll, sb_top, 0);
screen.Cursor := crDefault;
end;

 
delphisnail@china.com
谢谢
 
beta的程序会改变文本的格式,下面是我的程序:
procedure TForm1.Html2TextClick(Sender: TObject);
var FileName,
ConfirmConversions,
ReadOnly,
AddToRecentFiles,
PasswordDocument,
PasswordTemplate,
Revert,
WritePasswordDocument,
WritePasswordTemplate,
Format,
Encoding,
Visible:OleVariant;

FileFormat,
LockComments,
Password,
WritePassword,
ReadOnlyRecommended,
EmbedTrueTypeFonts,
SaveNativePictureFormat,
SaveFormsData,
SaveAsAOCELetter:OleVariant;
begin
ConfirmConversions:=false;
ReadOnly:=true;
AddToRecentFiles:=false;
Format:=wdOpenFormatWebPages;
Visible:=false;
FileName:=OpenDialog1.FileName;
WordApp.Documents.Open(FileName,ConfirmConversions,ReadOnly,AddToRecentFiles,PasswordDocument,PasswordTemplate,
Revert,WritePasswordDocument,WritePasswordTemplate,Format);

FileFormat:=wdFormatHTML;
FileName:=txtFileName.Text;

WordApp.ActiveDocument.SaveAs(FileName,
FileFormat,
LockComments,
Password,
AddToRecentFiles,
WritePassword,
ReadOnlyRecommended,
EmbedTrueTypeFonts,
SaveNativePictureFormat,
SaveFormsData,
SaveAsAOCELetter);
end;

怎么样,现在可以给分了吧
 
beta,如果我在网页上加上几个<p>text</p>或者几个<br>你还能处理吗?如果加入几个图片,你也能过滤掉吗?你说这样的问题给这分是不是太少?
 
对不起,我不知道这里打不上html脚本,
我刚才指的是加上几个br或者是几个p分段
 
program,没关系,我在信理能看见.
对于br可以自己加嘛,如:
stringreplaceall(s, 'br',#13#10);
等等.图片当然可以被过滤掉,不是删除了所有的<>吗

>你说这样的问题给这分是不是太少?
我认为,不是分多分少的问题,而是愿不愿意帮助人的问题.
 
program回“program加分”给你加100
beta谢了
 
接受答案了.
 
有没有搞错?怎么把分加到beta上了
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
816
SUNSTONE的Delphi笔记
S
S
回复
0
查看
731
SUNSTONE的Delphi笔记
S
后退
顶部