【发布时间】:2011-01-31 02:49:25
【问题描述】:
我创建了一个 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 忍者,所以这可能是要走的路,但我只是不太了解它们。
我尝试过的唯一其他选择实际上是替换字符串“>密码”。
提前感谢您的帮助。
【问题讨论】:
标签: regex httpmodule