HTTPmodule - 替换标记

我创建了一个HTTPModule,它是为我网站的每个请求调用的。在模块内部,我为HTTPApplication.Context.Response.Filter创建了自己的过滤器包装器,它允许我在将标记发送回客户端之前对其进行操作。 这里的想法是,我将搜索某些单词/短语,并用给定语言中的相同单词/短语替换它们,这些单词/短语将存储在数据库中。 我试图取代的其中一个词是“密码”。问题是标记中有一些名为_ctl122_txtPassword的控件,当我在我的过滤器中时,我实际上只是在进行字符串操作(搜索/替换等),因此控件名称被重命名为_ctl122_txtTranslation,这会打破各种各样的事情。 所以我不想在这里替换匹配:     
<input type="password" style="width: 200px;" class="formfield" id="_ctl22_txtPassword" name="_ctl22:txtPassword">
但我确实想要替换匹配:
<td align="right" class="formlabel">Password:</td>
我已经尝试了一些RegEx解决方案,但我远离RegEx忍者,所以这可能是要走的路,但我只是不太了解它们。 我尝试的唯一其他选择实际上是替换字符串'>密码'。 在此先感谢您的帮助。     
已邀请:
由于HTML的本质,编写一个可以处理每个案例的正则表达式都很困难。 您可以将此作为起点 http://snook.ca/archives/active_server_pages/vbscript_code_t 更好的解决方案可能是使用HTML解析工具(Html Agility Pack) http://social.msdn.microsoft.com/Forums/en/regexp/thread/3b0a595b-cd09-446f-bbcb-d826511c364e 如果我打算这样做(听起来像一个多语言网站),我可能会使用资源文件 或者可能已定义宏边界,以便我的正则表达式可以轻松查找内容。 例如@@'s
<td align="right" class="formlabel">@@Password@@:</td>
    

要回复问题请先登录注册