Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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 用单个分隔符替换多个分隔符标记,并在分隔符之间尊重文本_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript 用单个分隔符替换多个分隔符标记,并在分隔符之间尊重文本

Javascript 用单个分隔符替换多个分隔符标记,并在分隔符之间尊重文本,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我想在正文中用一个断点替换多个断点,并且应该尊重断点之间的文本。而且它不应该影响任何元素上的事件处理程序。 比如说, text1<br/><br/><br/>text2<br/><br/><p>text3</p>text4<br/><br/><br/>text5 text1text2text3text4

我想在正文中用一个断点替换多个断点,并且应该尊重断点之间的文本。而且它不应该影响任何元素上的事件处理程序。 比如说,

text1<br/><br/><br/>text2<br/><br/><p>text3</p>text4<br/><br/><br/>text5
text1



text2

text3text4


应改为

text1<br/>text2<br/><p>text3</p>text4</p><br/>text5
text1
text2
text3

text4


text5
我在stackoverflow上发现了一些与此相关的问题,但我无法使这些问题适用于我的场景。我相信它不是重复的,所以发布它。

试试这个

var oldText="text1<br/><br/><br/>text2<br/><br/><p>text3</p>text4<br/><br/><br/>text5";
var newText = oldText.replace(/(?:<br[^>]*>\s*){2,}/g, '<br>');
var oldText=“text1



text3text4


\s*){2,}/g,“
”);
编辑

根据你的需要

$("#clickableDiv" ).click(function() {
        alert('clicked me');
    });

    $("p" ).click(function() {
        alert('clicked me');
    });

    var bodyHTML = $('body').html();
    console.log( "ready!" );

    bodyHTML = bodyHTML.replace(/(?:<br[^>]*>\s*){2,}/g,"<br/>");
    console.log(bodyHTML);
    $('body').html(bodyHTML);
});
$(“#clickableDiv”)。单击(函数(){
警惕(“点击我”);
});
$(“p”)。单击(函数(){
警惕(“点击我”);
});
var bodyHTML=$('body').html();
console.log(“准备就绪!”);
bodyHTML=bodyHTML.replace(/(?:]*>\s*){2,}/g,“
”); log(bodyHTML); $('body').html(bodyHTML); });
试试这个

var oldText="text1<br/><br/><br/>text2<br/><br/><p>text3</p>text4<br/><br/><br/>text5";
var newText = oldText.replace(/(?:<br[^>]*>\s*){2,}/g, '<br>');
var oldText=“text1



text3text4


\s*){2,}/g,“
”);
编辑

根据你的需要

$("#clickableDiv" ).click(function() {
        alert('clicked me');
    });

    $("p" ).click(function() {
        alert('clicked me');
    });

    var bodyHTML = $('body').html();
    console.log( "ready!" );

    bodyHTML = bodyHTML.replace(/(?:<br[^>]*>\s*){2,}/g,"<br/>");
    console.log(bodyHTML);
    $('body').html(bodyHTML);
});
$(“#clickableDiv”)。单击(函数(){
警惕(“点击我”);
});
$(“p”)。单击(函数(){
警惕(“点击我”);
});
var bodyHTML=$('body').html();
console.log(“准备就绪!”);
bodyHTML=bodyHTML.replace(/(?:]*>\s*){2,}/g,“
”); log(bodyHTML); $('body').html(bodyHTML); });

试试看

$a = "text1<br/><br/><br/>text2<br/><br/><p>text3</p>text4<br/><br/><br/>text5";
$b = preg_replace("/(?:<br\/>)+/", "<br/>", $a);
// $b == "text1<br/>text2<br/><p>text3</p>text4<br/>text5"
$a=“text1



text3

text4

,$a”); //$b==“text1
text2
text3

text4
text5”
试试看

$a = "text1<br/><br/><br/>text2<br/><br/><p>text3</p>text4<br/><br/><br/>text5";
$b = preg_replace("/(?:<br\/>)+/", "<br/>", $a);
// $b == "text1<br/>text2<br/><p>text3</p>text4<br/>text5"
$a=“text1



text3

text4

,$a”); //$b==“text1
text2
text3

text4
text5”
您能告诉我们您尝试过但不适用于您的其他问题的哪些解决方案吗?您能告诉我们您尝试过但不适用于您的其他问题的哪些解决方案吗?我需要在整个文档中替换,您的解决方案会对事件处理程序产生影响吗?您是否尝试过此代码。或者提供完整的代码以便我们检查?它正在删除事件处理程序。仅当在元素上注册事件之前执行替换代码时,它才起作用。代码:我需要在整个文档中替换,您的解决方案会对事件处理程序产生影响吗?您是否尝试过此代码。或者提供完整的代码以便我们检查?它正在删除事件处理程序。仅当在元素上注册事件之前执行替换代码时,它才起作用。代码: