解包HTML标签只保留第一级

时间:2017-09-29 10:25:09

标签: javascript jquery html

我有这个文字

"Welcome to my city. <span><span><span>Hello</span> my</span> good</span> friend"

使用jQuery(或javascript)我想打开只保留第一级的所有span标签,我的意思是, 理想的输出是:

"Welcome to my city. <span>Hello my good</span> friend"

提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以通过将HTML注入到元素中来解析HTML,然后抓取其子节点,按原样输出文本节点,并通过阅读Access-Control-Allow-Origin: [frontend domain]转换顶级元素的内容并替换{{1}那个。

&#13;
&#13;
.textContent
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果您的文字在字符串中,您可以使用这样的正则表达式:

&#13;
&#13;
var string = 'Welcome to my city. <span id="test"><span><span class="test2">Hello</span> my</span> good</span> friend';
var regex = /<span.*?>(.*)<\/span>/g;

var insideOfSpan = regex.exec(string);

var strippedSpan = insideOfSpan[1].replace(/<\/?span.*?>/g, '');

string = string.replace(/(<span.*?>).*(<\/span>)/, '$1' + strippedSpan + '$2');
console.log(string);
&#13;
&#13;
&#13;