我正在寻找一个“命令”中的JavaScript正则表达式替换。
应该用span class =“ stars”内的HTML字符★
(★)代替四个括号内的星号(每侧两个)。最小为1,最大为5个星号。
替换应用于大文本,因此应该执行多个替换。
例:
{{*}}
{{**}}
{{***}}
{{****}}
{{*****}}
应替换为:
<span class="stars">★</span>
<span class="stars">★★</span>
<span class="stars">★★★</span>
<span class="stars">★★★★</span>
<span class="stars">★★★★★</span>
最佳答案
并不是真正的一行,但这行得通
var t = document.getElementById("container").innerHTML;
t = t.replace(/{{(\*{1,5})}}/g,function(m, g) {
return "<span class='star'>"+new Array(g.length+1).join("★")+"</span>";
});
document.getElementById("container").innerHTML = t;