gpt4 book ai didi

javascript - Jquery - 替换特定 div 容器内除外

转载 作者:行者123 更新时间:2023-12-03 09:01:24 25 4
gpt4 key购买 nike

以下函数将替换文本的某些部分

function q(text) {
text = text.replace(/\[quote=?(.*?)\]/gi,"<div class=\"rq\"><p> $1</p><span>")
text = text.replace(/\[\/quote\]/gi,"</span></div>");
return text;
}

我正在寻找避免替换 [quote=(.*)] 和 [/quote] 如果它们位于某个类 div 内(class=haha AVOID)

示例:

<div class="full"> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed doeiusmod
[quote=ok]I should be replace[/quote] Lorem ipsum
dolor sit amet, consectetur adipiscing elit, sed do eiusmod
<div class="haha"> [quote=no]I shall not be replace[/quote]
bblablablablablabla
</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
blablabla (other [quote] inside or not inside a div=haha may follow...)
...
</div>

最佳答案

我试图为您的 class="haha" div 的内容添加一个掩码。屏蔽后,会发生真正的报价替换。最后我再次揭开了它的面纱。

让我们检查一下我的版本。我已将整个 HTML 放入 Javascript 变量中。我还对您的功能进行了一些修改以使其正常工作。

var text = '<div class="full">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed doeiusmod[quote=ok]I should be replace[/quote] Lorem ipsumdolor sit amet, consectetur adipiscing elit, sed do eiusmod<div class="hahaa"> [quote=no]I shall not be replace[/quote]bblablablablablabla</div>Lorem ipsum dolor<div class="haha"> [quote=no]I shall not be replace[/quote]bbla</div>it amet, consectetur adipiscing elit, sed do eiusmodblablabla (other [quote] inside or not inside a div=haha may follow...)...</div>';

var resultText = q(text);
console.log(resultText);

function q(text) {
var matches = text.match(/<div class="haha">([^<]*)<\/div>/gi);
text = text.replace(/<div class="haha">([^<]*)<\/div>/gi, "#######");
text = text.replace(/\[quote=?(.*?)\]/gi,"<div class=\"rq\"><p> $1</p><span>");
text = text.replace(/\[quote=?(.*?)\]/gi,"<div class=\"rq\"><p> $1</p><span>");
text = text.replace(/\[\/quote\]/gi,"</span></div>");

for(i in matches){
text = text.replace(/#######/i, matches[i]);
}
return text;
}

关于javascript - Jquery - 替换特定 div 容器内除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32292613/

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