如何使用javascript交换字符串中的特定标记
我有一根像如何使用javascript交换字符串中的特定标记,javascript,html,regex,Javascript,Html,Regex,我有一根像 str = "< p>line 1< br>< /p>< p>lin2< br>< /p>< h1>line 3< br>< /h1>"; str=“第1行第2行第3行”; 我需要将与它们的下一个结束标记交换,在上述情况下,它们是,和 因此,所需的最终str是: finalStr = "< p>line 1< /p>< br>< p
str = "< p>line 1< br>< /p>< p>lin2< br>< /p>< h1>line 3< br>< /h1>";
str=“第1行
第2行
第3行
”;
我需要将
与它们的下一个结束标记交换,在上述情况下,它们是
,
和
因此,所需的最终str是:
finalStr = "< p>line 1< /p>< br>< p>lin2< /p>< br>< h1>line 3< /h1>< br>";
finalStr=“第1行
第2行
第3行
”;
我尝试创建正则表达式,但没有成功。在这种情况下,谁能指导我如何创建正则表达式,并仅使用JS将br的出现与下一个结束标记交换?
PS:我在所有标记中添加了额外的空间,以便html编辑器可以忽略将它们作为标记读取的操作您可以尝试:
"< p>line 1< br>< /p>< p>lin2< br>< /p>< h1>line 3< br>< /h1>".replace(/(< br>)(< \/[\w\d]*>)/g,'$2$1')
//"< p>line 1< /p>< br>< p>lin2< /p>< br>< h1>line 3< /h1>< br>"
“第1行
第2行
第3行
”。替换(/(
)(<\/[\w\d]*>)/g,“$2$1”)
//“第1行
第2行
第3行
”
您可以尝试:
"< p>line 1< br>< /p>< p>lin2< br>< /p>< h1>line 3< br>< /h1>".replace(/(< br>)(< \/[\w\d]*>)/g,'$2$1')
//"< p>line 1< /p>< br>< p>lin2< /p>< br>< h1>line 3< /h1>< br>"
“第1行
第2行
第3行
”。替换(/(
)(<\/[\w\d]*>)/g,“$2$1”)
//“第1行
第2行
第3行
”
使用正则表达式进行dom操作不是一个好主意,相反,您可以尝试以下方法
str=“第1行
第2行
第3行
”;
var div=document.createElement('div');
div.innerHTML=str;
var brs=div.querySelectorAll('br');
[]forEach.call(brs,函数(br){
br.parentNode.parentNode.insertBefore(br,br.parentNode.nextSibling)
});
snippet.log(div.innerHTML)
使用正则表达式进行dom操作不是一个好主意,相反,您可以尝试以下方法
str=“第1行
第2行
第3行
”;
var div=document.createElement('div');
div.innerHTML=str;
var brs=div.querySelectorAll('br');
[]forEach.call(brs,函数(br){
br.parentNode.parentNode.insertBefore(br,br.parentNode.nextSibling)
});
snippet.log(div.innerHTML)
试试这个
var str = "< p>line 1< br>< /p>< p>lin2< br>< /p>< h1>line 3< br>< /h1>";
var vca = str.replace(/<\sbr>(<\s\/\w>)/,"$1<br>");
var str=“第1行
第2行
第3行
”;
var vca=str.replace(/()/,“$1
”);
试试这个
var str = "< p>line 1< br>< /p>< p>lin2< br>< /p>< h1>line 3< br>< /h1>";
var vca = str.replace(/<\sbr>(<\s\/\w>)/,"$1<br>");
var str=“第1行
第2行
第3行
”;
var vca=str.replace(/()/,“$1
”);
谢谢,我不太了解regex,这就是为什么需要快速帮助的原因。我将了解有关创建regexthanks的更多信息,我不太了解regex,这就是为什么需要快速帮助的原因。我将了解有关创建regex的更多信息。我同意您关于dom操作的看法,但实际上我的意图不是要影响dom,我同意你关于DOM操作的看法,但实际上目的并不是要影响DOM,而是要用DOM元素创建一些字符串,保持DOM的原样。