首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTPmodule -替换标记

HTTPmodule -替换标记
EN

Stack Overflow用户
提问于 2011-01-31 10:49:26
回答 1查看 294关注 0票数 0

我已经创建了一个HTTPModule,每次对我的网站的请求都会调用它。在模块内部,我为HTTPApplication.Context.Response.Filter创建了自己的过滤器包装器,允许我在将标记发送回客户端之前对其进行操作。

这里的想法是,我将搜索某些单词/短语,并将它们替换为将存储在数据库中的给定语言中的相同单词/短语。

我想要替换的单词之一是"Password“。问题是在标记中有名为_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忍者,所以这可能是可行的方法,但我就是不够了解它们。

我尝试过的另一种方法实际上是替换字符串“>Password”。

提前感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2011-01-31 11:23:43

由于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

如果我要这样做(听起来像是一个多语言站点),我可能会使用资源文件

或者可能定义了宏边界,以便我的正则表达式可以轻松地查找内容。

例如@@的

代码语言:javascript
复制
<td align="right" class="formlabel">@@Password@@:</td>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4847223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档