如何替换html文档中的tag并保存为另一个Html文件? (100分)

  • 主题发起人 bitfarmer
  • 开始时间
B

bitfarmer

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在需要将一个html文档中的链接和图片等修改为自己指定的内容,
然后保存为另一个html文件,不知道有没有好的解决办法,源码或控件也可以。
rjHtmlParser我已经用过了,对中文的支持不是很好,修改后经常出现乱码。
 
不是有TPageProcducer吗?
 
TPageProcducer只能替换自定义的标记,例如<#username>之类的,并不能找出例如<img src='1.gif'>中的'1.gif'并替换掉。
 
mshtml parse engine
 
能简单说说mshtml parse engine的用法吗?
IHTMLDocument2好像一般用来连接到IWebBrowser2.DocumentI上,可以替换tag中的值,
但是我总不能用个WebBrowser来打开文件,修改后保存IHMTLDocument2.Body.OuterHtml吧?
这样<head>中的script等东西就弄丢了。
顺便问一下,通过IWebBrowser2能够获得全部HTML吗?
 
我觉得这应该是一个比较常见的问题,
我也搜索过论坛了,不过没有找到答案,希望曾经遇到过这个问题的前辈不吝指教。
 
只是一种想法:
用TMEMO控件来实现。
HTML文件读入TMEMO后,用POS在TEXT中找到你要替换的串,用 Memo1.SelStart、Memo1.SelLength
设置要替换的块,再用Memo1.SetSelTextBuf替换成你的东东。

 
html标记的规范还是有点复杂,要自己写查找替换的话,可能需要很长的时间。
 
这个问题我也研究过,我想是否能用regular expression来查找?

但是delphi本身好像对regular expression不支持。 :(
 
看来只有自己修改rjHtmlParser源代码了。难道就没有人知道吗?
 
多人接受答案了。
 
顶部