gpt4 book ai didi

javascript - 用html元素替换某些字符

转载 作者:行者123 更新时间:2023-11-28 19:08:57 24 4
gpt4 key购买 nike

我有一个像这样的字符串:var text = "sdasd #ELEMENT1# asdasd #ELEMENT2#";我必须替换所有 #ELEMENT-X#对于一个按钮,你会得到像这样的 sdasd <button>ELEMENT1</button> asdasd <button>ELEMENT2</button> .

我有一个小正则表达式,它返回每个 # 的索引数组

var regexp = /\#/g;
var match, matches = [];
while ((match = regexp.exec(text)) != null) {
matches.push(match.index);
}
console.log(matches);

然后我尝试将 # 替换为 and if# 是奇数还是偶数,但它没有按照我的预期工作

var count=0;
var countPos=0;
var tempText='';
for(var j=0; j<text.length; j++){
for(var k=0; k<matches.length; k++){
if(j===matches[k]) {
if(count%2 !== 0){
tempText = text.substr(countPos,j);
finalText += tempText.replace("%", '<button type="button" class="btn btn-default btn-xs fx-remove" data-var-token="[%XPTO%]" contenteditable="false">')
}else{
tempText = text.substr(countPos,j);
finalText += tempText.replace("%","</button>");
}
finalText += text.substr(countPos,j);
count++;

countPos = j;
}


}
}

console.log('--------- '+finalText+' ---------------');

我的 FinalText 返回的文本比原始文本多得多。

解决这个问题的最佳方法是什么?

谢谢

最佳答案

你可以使用

var text = "sdasd #ELEMENT1# asdasd #ELEMENT2#";

text = text.replace(/#(.*?)#/g, '<button>$1</button>');
snippet.log(text)
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

关于javascript - 用html元素替换某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31127869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com