用字符串替换标签名称

时间:2020-05-17 13:34:49

标签: javascript html dom

让我们说我有一些HTML代码,例如:

"Hello, my <strong>name</strong> is Nanoo."

如何用字符串替换<strong>标签?

例如:

"Hello, my **name** is Nanoo."

(将<strong>标签替换为**

我可能可以使用replace()函数,但是我想高效地做到这一点。
感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

使用正则表达式。 ((.+?)用于捕获强标签的内容,因此我们可以在替换中使用$1来替换捕获的组。)

但是,don't use regexps to really parse HTML.

>>> s = "Hello, my <strong>name</strong> is Nanoo.";
>>> s.replace(/<strong>(.+?)<\/strong>/g, '**$1**');
"Hello, my **name** is Nanoo."

答案 1 :(得分:0)

使用parentNode.replaceChild(newChild, oldChild);

// on DOMContentLoaded 
document.querySelectorAll('strong').forEach(function(ele) { // for each strong tag
    var newTag = document.createTextNode('**' + ele.textContent + '**');
    ele.parentNode.replaceChild(newTag, ele);
})
<p>Hello, my <strong>name</strong> is Nanoo.</p>