如何使用 javascript 查找并替换某些关键字之间的文本?

发布于 2024-12-23 08:50:56 字数 512 浏览 1 评论 0原文

例如我有这个文本

"!?vake 7EnEebjP8jXf JFyd5hpIVa6B  !?vake".

开始和结束关键字是“!?vake”,我想检索关键字之间的加密内容,解密并替换它。

替换前的 html 代码为:

<span class="messageBody" data-ft="{&quot;type&quot;:3}">‎!?vake 7EnEebjP8jXf JFyd5hpIVa6B
Fu63LH23dAiB !?vake</span>

解密后:

<span class="messageBody" data-ft="{&quot;type&quot;:3}">‎i am the decrypted text</span>

替换应该在整个 html 文档中工作,而无需知道加密文本的特定元素。

For example i have this text

"!?vake 7EnEebjP8jXf JFyd5hpIVa6B  !?vake".

The starting and ending keyword is "!?vake" and i want to retrieve the encrypted content between the keywords,decrypt it and replace it.

The html code before replacing would be:

<span class="messageBody" data-ft="{"type":3}">‎!?vake 7EnEebjP8jXf JFyd5hpIVa6B
Fu63LH23dAiB !?vake</span>

and after decrypting :

<span class="messageBody" data-ft="{"type":3}">‎i am the decrypted text</span>

Replace should work in the whole html document without knowing the specific element the encrypted text is.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小傻瓜 2024-12-30 08:50:56

您可以使用 RegExp 来实现这一点。请在此处查看演示:http://jsfiddle.net/diode/KVqJS/4/

var body = $("body").html();

var matched;
while ((matched = body.match(/!\?vake (.*?) !\?vake/))) {
    if(matched.length > 1){
        body = body.replace(/\!\?vake (.*) \!\?vake/, decode(matched[1]));
    }

}

$("body").html(body);

function decode(encoded) {
    return "decoded " + encoded;
}

You can achieve this using RegExp. See a demo here : http://jsfiddle.net/diode/KVqJS/4/

var body = $("body").html();

var matched;
while ((matched = body.match(/!\?vake (.*?) !\?vake/))) {
    if(matched.length > 1){
        body = body.replace(/\!\?vake (.*) \!\?vake/, decode(matched[1]));
    }

}

$("body").html(body);

function decode(encoded) {
    return "decoded " + encoded;
}
下壹個目標 2024-12-30 08:50:56

您可以使用正则表达式来查找(和替换)数据。

这是一个快速而肮脏的 JSFiddle: http://jsfiddle.net/z8rVc/1/

我'不过,我确信有人会想出一种更优雅的方法。

You can use regex to find (and replace) the data.

Here is a quick and dirty JSFiddle: http://jsfiddle.net/z8rVc/1/

I'm sure someone will come up with a more elegant method, however.

苏别ゝ 2024-12-30 08:50:56

您可以在 JS 中使用以下正则表达式搜索和替换代码:

var a = "!?vake 7EnEebjP8jXf JFyd5hpIVa6B  !?vake";
var b = a.replace(/\!\?vake(.*)\!\?vake/g, '$1');
/// b contains your string between the keywords which you can decrypt as required.

You can use the following regex search and replace code in JS:

var a = "!?vake 7EnEebjP8jXf JFyd5hpIVa6B  !?vake";
var b = a.replace(/\!\?vake(.*)\!\?vake/g, '$1');
/// b contains your string between the keywords which you can decrypt as required.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文