gpt4 book ai didi

Javascript正则表达式替换标记之间的文本?

转载 作者:行者123 更新时间:2023-11-28 14:01:26 25 4
gpt4 key购买 nike

我在 html 中有一个开始和结束标记,我想用其他一些 html 替换这些标记之间的 html。下面的表达式似乎不起作用...

var myRegExp = new RegExp("<!-- " + "START IMPORTED HEAD.*?<!-- " + "END IMPORTED HEAD -->", "gi");
sHtmlContent = sHtmlContent.replace(myRegExp, "<!-- " + "INSERT_HEADER -->");

下面是文档中出现的 html block 的示例。

<!-- START IMPORTED HEAD -->
<style type="text/css">
input[type=button]
{
padding-bottom: 3px;
}
</style>
<!-- END IMPORTED HEAD -->

任何想法都会很好,谢谢

最佳答案

操作 DOM 会好得多,但前提是您有浏览器。如果您正在执行服务器端 JavaScript(例如 JS ASP),这里有一种方法可以完全满足您的要求:

var html = '<!-- START IMPORTED HEAD -->\n<style type="text/css">\n    input[type=button]\n    {\n        padding-bottom: 3px;\n    }\n</style>\n<!-- END IMPORTED HEAD -->';
var re = new RegExp("<!-- " + "START IMPORTED HEAD[\\d\\D]*?<!-- " + "END IMPORTED HEAD -->", "gi");

html.replace(re, "<!-- " + "INSERT_HEADER -->");
// <!-- INSERT_HEADER -->

你的问题是在JS中.字符与换行符不匹配;使用 [\d\D] 字符类来匹配所有字符。

关于Javascript正则表达式替换标记之间的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4923203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com