Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用正则表达式匹配并替换嵌套的html标记_Javascript_Node.js_Regex - Fatal编程技术网

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结构,可能会在页面完全不同部分的上下文之外删除标记,因为。*不考虑嵌套。