gpt4 book ai didi

javascript - 在 indexOf 的位置添加文本

转载 作者:行者123 更新时间:2023-12-01 05:35:55 25 4
gpt4 key购买 nike

我正在根据字符串出现的次数将文本插入到某些 WordPress 帖子的底部。我已设法使用append 将文本添加到底部,但我想使用indexOf 在特定位置插入。

原文如下:

 if ($('body').hasClass("single-post")){
var count = 0;
var cSearch = $('body').text();
var words = cSearch.indexOf('Words To Find')
while (words !== -1){
count++;
words = cSearch.indexOf('Words To Find', words + 1);
}
if( count >= 2){
$('.entry-content').append('<br><br>Sample Text');
}
}

以下是我如何获取之前要插入的位置:

var insertLocation = cSearch.indexOf('Show what ya');

如何将“示例文本”拼接到 insertLocation 指定的位置?

我发现了一些关于使用 polyfil 进行 .splice 的信息,但我不确定它是否适用于此。使用它例如:

$(cSearch).splice( insertLocation, -1 ).text( "Sample Text" );

有人可以建议一种方法吗?谢谢!

最佳答案

尝试创建代表总匹配数的变量,indexOf()匹配加上匹配文本.length,使用.slice()插入原始文本在第二个匹配之前,插入新文本,然后是原始文本的其余部分

var text = $("div").text(),
match = "Words To Find",
txt = " Sample Text ",
matches = 0,
n = 0,
// `max` : total number of `matches` before inserting `txt`
max = 2;
while (matches < max) {
if (text.indexOf(match, n) !== -1) {
i = text.indexOf(match, n);
n = i + match.length;
++matches
}
}
// insert `re` after second match of `"Words To find"`
var re = text.slice(0, i + match.length) + txt;
$("div").text(re + text.slice(i));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>

<body>
<div>Words To Find abc def Words To Find ghi Words To Find</div>
</body>

关于javascript - 在 indexOf 的位置添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34113361/

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