gpt4 book ai didi

javascript - 将所有出现的自定义标签替换为其中的 URL [JS]

转载 作者:行者123 更新时间:2023-12-03 05:20:25 28 4
gpt4 key购买 nike

我正在为我正在构建的网站制作一个在线文本编辑器,并使用自定义标签进行标记。为了更容易阅读,标记以蓝色突出显示,我使用以下函数购买:

   var imgOccurences = (informationText.match(/\[img/gi)).length;

for(var i = 0; i < imgOccurences; i++){
var imgLocation = informationText.indexOf('[img');
var endImgLocation = informationText.indexOf(']', imgLocation+1);

if(imgLocation != -1 && endImgLocation != -1){
var informationTextTemp1 = informationText.slice(0, imgLocation);
var informationTextTemp2 = informationText.slice(endImgLocation+1, -1);
var informationTextTemp3 = informationText.slice(imgLocation, endImgLocation+1);

informationTextTemp3 = "<span class='highlightWord'>"+informationTextTemp3+"</span>";
informationText = informationTextTemp1 + informationTextTemp3 + informationTextTemp2;
}
}

但是我面临的问题是,当将文本规范化为 HTML 时,我无法在 [img] 标签上使用 regex 表达式(我之前与其他标签一起使用过),因为事实上,我想突出显示图像标签及其所有内容,其中包括 URL。

因此,我决定计算 [img] 标签中“[img”部分的所有出现次数,然后查找下一个出现的“]”,然后将其从普通文本中切出,然后突出显示它使用跨度,然后将其添加回普通文本,同时我将其放入 for 循环中。然而,只有第一次出现的 [img] 标签被突出显示,我不确定应该如何处理这个问题。任何帮助将不胜感激。

基本上我需要得到如下所示的所有内容: [img src='www.example.com/image.png'] 并使其看起来像: <span class='highlightWord'>[img src='example.com/image.png']</span> 然后将其放入 .innerHTML名为 textHighlights 的 div .

<小时/>

预期结果: 1

我得到的结果: 2]

最佳答案

您可以做得更简单,因为 .replace 方法接受正则表达式作为匹配字符串的参数。

informationText = informationText.replace(/(\[img.+?\])/gi, '<span class="highlightWord">$1</span>');

上面的内容将直接替换所有匹配项(通过将它们包装在您想要的span)

关于javascript - 将所有出现的自定义标签替换为其中的 URL [JS],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41411992/

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