Javascript 用正则表达式匹配并替换嵌套的html标记
我想对Javascript 用正则表达式匹配并替换嵌套的html标记,javascript,node.js,regex,Javascript,Node.js,Regex,我想对和标记进行嵌套,并删除内部嵌套的标记。这在正则表达式中是可能的吗 <strong>Hello <em>World</em></stong> 你好,世界 应该成为 <strong>Hello World</stong> 你好,世界 如果只是删除中的任何标记,则可以使用以下javascript代码获得所需的结果 (function(){ var a = document.getElementsByTagNam
和
标记进行嵌套,并删除内部嵌套的标记。这在正则表达式中是可能的吗
<strong>Hello <em>World</em></stong>
你好,世界
应该成为
<strong>Hello World</stong>
你好,世界
如果只是删除
中的任何
标记,则可以使用以下javascript代码获得所需的结果
(function(){
var a = document.getElementsByTagName("strong");
for(var i=0;i<a.length;i++){
a[i].innerHTML = a[i].innerText; //Removing any innerHTML here.
}
})();
(函数(){
var a=document.getElementsByTagName(“强”);
对于(var i=0;i,因为正则表达式无法识别dom,所以我建议找到其他方法,比如使用dom操作函数
例如,,,,,
…都是有效的dom。您甚至可以忽略结束标记或将其拼错(如您的示例!)。您无法用正则表达式处理所有这些
但是,如果您已经像您的示例一样准备好了完全解析的dom,那么这个正则表达式可能会起作用
//仅限单行
“你好世界””。替换(/^(.*)(.*)(.*)$/gi,“$1$2$3”;
>>你好,世界
很抱歉,不是。HTML不是一种常规语言。我不想删减HTML。我确信它可以工作。我已经看到一个脚本使用具有负外观的正则表达式执行类似的操作,但是无法再次理解它,也无法在web上找到它。您想在web页中或使用nodejs执行此操作吗?我正在使用服务器执行此操作ide位于节点上,仅用于导出。此答案仅适用于浏览器,不适用于服务器端,因此无法回答此问题!@Manuel在服务器端,他可以简单地使用jquery,其中document
将是:require(['*.html'],(html)=>{document=$(html)}
这不是会计html结构,可能会在页面完全不同部分的上下文之外删除标记,因为。*不考虑嵌套。