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

标签 javascript jquery encryption userscripts

例如我有这个文本

"!?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 文档,而无需知道加密文本的特定元素。

最佳答案

您可以使用 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;
}

关于javascript - 如何使用 javascript 查找并替换某些关键字之间的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8670348/

相关文章:

javascript - 如何使用 vue.js 绑定(bind)动态添加的表单输入

jQuery 每个循环 - 使用变量

javascript - 更新 Like 按钮而不刷新页面

objective-c - 用ios5加密的CCCrypt无法用ios6解密

database - 安全存储 OpenID 标识符和 OAuth token

java - 使用 attributeconverter 时,Spring Boot 应用程序未完成启动

javascript - "observing from outside shadow DOM should not see mutations in the shadow"是什么原因

javascript - Firebase Auth 内置身份

javascript - javascript-slice(-1) 中切片的用途是什么

javascript - document.innerHTML 在 'DOMNodeInserted' 事件捕获函数中未定义