让我们说我有一些HTML代码,例如:
"Hello, my <strong>name</strong> is Nanoo."
如何用字符串替换<strong>
标签?
例如:
"Hello, my **name** is Nanoo."
(将<strong>
标签替换为**
)
我可能可以使用replace()
函数,但是我想高效地做到这一点。
感谢您的帮助。
答案 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>