我想从字符串中删除一些不需要的标记,以将干净的字符串存储到数据库中。
我试图将字符串与正则表达式相关联。这就是我所尝试的 - https://codepen.io/rushijagani/pen/wZxWRj
var data = '<p><span class="unwanted-span-one" data-hello="unwated-attr">Donec</span> rutrum congue leo eget malesuada. <span>Mauris</span> blandit aliquet elit, eget <span class="unwanted-span-two" data-hello="unwated-attr-two"> malesuada</span>.</p>'
我想删除所有类别名称以“unwanted-span-”开头的span标记,它应该只删除标记换行而不是内容。
所以期望的输出应该如下
var data = '<p>Donec rutrum congue leo eget malesuada. <span>Mauris</span> blandit aliquet elit, eget malesuada.</p>'
请注意 - 我们只需删除类名称为“unwanted-span-”的span标记,其他范围应保持不变。
你可以简单地使用
var allData = $('*[class^="unwanted-span-"]').contents().unwrap();
console.log($(".all").html())
如果您不想更改HTML,可以试试这个:
var match = $('*[class^="unwanted-span-"]').get(0);
var test = $('p').html().replace(match.outerHTML,match.innerHTML);
console.log( test );
当然,如果你有多个比赛,你必须迭代所有比赛:)
您可以像这样使用运算符开头:
var allData = $('.all').find("span[class^='unwanted-span']").css('color','blue');
我编辑你的codepen容器https://codepen.io/anon/pen/qwyayP
要删除使用此:
var allData = $('.all').find("span[class^='unwanted-span']").remove();
要解开span文本,请使用以下命令:
var allData = $('.all').find('span[class^="unwanted-span-"]').contents().unwrap();
console.log($('.all').html());