gpt4 book ai didi

javascript - 反向引用每个字符

转载 作者:行者123 更新时间:2023-12-02 20:04:24 26 4
gpt4 key购买 nike

为了简单和学习新东西,请不要建议使用两个单独的替换函数。我知道这是一个选择,但我也想知道如何做到这一点(或者如果不可能的话)。

'<test></test>'.replace(/<|>/g,'$&'.charCodeAt(0))

这就是我到目前为止所得到的。正如您所知,此示例代码是另一段代码,用于在仍然使用innerHTML的情况下转义HTML实体(因为我确实打算包含一些HTML实体,例如小图像,所以再次请不要建议 textContent ) .

因为我正在尝试同时替换 <> ,问题是将每个单独的字符转换为各自的字符代码。由于正则表达式允许这种“OR”条件以及对每个字符的反向引用,因此我希望有一种方法可以在替换每个字符时获取它们的引用。 $&将返回<><> (因为它们是按顺序替换的),但我不知道如何在替换它们时获取它们并获取 HTML 实体的字符代码。问题是,我不知道在这种情况下该使用什么。

如果这个解释不够清楚,我希望它是这样的(这显然行不通,它能最好地传达我的意思):

假设x是被替换字符的索引,

'<test></test>'.replace(/<|>/g,'$&'.charCodeAt(x))

希望这更有意义。那么,这实际上在某种程度上是可能的吗?

最佳答案

'<test></test>'.replace(/[<>]/g,function(a) {return '&#'+a.charCodeAt(0)+';';});

我已将字符放在方括号中(不知道它的正确名称)。这样你就可以添加任何你想要的字符。

以上将返回:

&#60;test&#62;&#60;/test&#62;

关于javascript - 反向引用每个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7623935/

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