我有一小段文字:
"some text" some more text "even more text"
我想做的就是像hilight.js一样,将所有内容都放在跨度容器中的撇号之间。我真的找不到使它正常工作的方法。
有人可以请我解释一下这样做的理想方式吗?
var body = document.querySelector('body');
var code = body.innerHTML;
var code = code.replace(/"(.*?)"/g,"<span>---</span>");
body.innerHTML = code;
span {
color: red;
}
<body>
<p>Corrent result:</p>
"some text" some more text "even more text"
<p>The result would be:</p>
<p><span>some text</span> some more text <span>even more text</span></p>
</body>
答案 0 :(得分:1)
您非常接近。您可以在替换字符串中使用$n
语法,该语法将对应第n
个捕获组。
let x = '"yo" bro "more"';
let y = x.replace(/"(.*?)"/g, '<span>$1</span>');
console.log(y);