如何使用 javascript 交换字符串中的特定标签
How to swap specific tags in string using javascript
我有一个字符串,比如
str = "< p>line 1< br>< /p>< p>lin2< br>< /p>< h1>line 3< br>< /h1>";
我需要将< br>
与它们紧接的下一个结束标签交换,在上述情况下,这些标签是< /p>
、< /p>
和< /h1>
所以最终需要的 STR 是:
finalStr = "< p>line 1< /p>< br>< p>lin2< /p>< br>< h1>line 3< /h1>< br>";
我尝试创建正则表达式但没有成功。谁能指导在这种情况下我如何创建正则表达式并仅使用 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>"
使用正则表达式进行 dom 操作不是一个好主意,相反,您可以尝试类似的东西
str = "<p>line 1<br></p><p>lin2<br></p><h1>line 3<br></h1>";
var div = document.createElement('div');
div.innerHTML = str;
var brs = div.querySelectorAll('br');
[].forEach.call(brs, function(br) {
br.parentNode.parentNode.insertBefore(br, br.parentNode.nextSibling)
});
snippet.log(div.innerHTML)
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
试试这个
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>");
相关文章:
- 在维护标识标签的字符串之间进行重复数据消除
- 如何使用 javascript 交换字符串中的特定标签
- 如何从内部HTML字符串中删除隐藏的标签
- 从字符串(JavaScript 或 PHP)的开头和结尾删除
- 标签
- Cheerio 'text()' 空字符串用于 span 标签
- 如何使用 JavaScript(但不是标签或属性)替换字符串中所有匹配的纯文本字符串
- 如何获取带有正则表达式和变异元音的字符串的所有匹配项 - 哈斯标签
- 如何在没有 AngularJs 编码的情况下在图像“alt”标签中使用字符串
- 如何使用 jQuery 在标签的 for 属性中使用子字符串获取标签元素的值
- 在Javascript中,如何将字符串的“标签”放入数组中
- 替换子字符串,但如果在标签之间或用 javascript 在标签中替换子字符串,则不要替换子字符串
- 角度翻译服务:字符串中的 HTML 标签
- 将字符串标签添加到 jQuery Sparklines 插件的每个值
- 替换字符串中的所有 标签
- 突出显示 Vaadin 标签中的子字符串
- 选择标签 HTML 上的值将数组转换为字符串 Javascript
- 如何在中断后拆分字符串,然后是另一个标签外壳
- 检测字符串中的“模式”并将其包装在javascript(angular)中标签
- 如何在javascript中创建img标签字符串
- AngularJS日期过滤器将短日期格式转换为'M/d/y '标签/字符串