gpt4 book ai didi

来自带有未转义引号的动态数据的 JavaScript 字符串声明

转载 作者:行者123 更新时间:2023-11-30 06:30:52 25 4
gpt4 key购买 nike

我正在为一个内容管理系统编写 JavaScript 模板,用户可以在其中填写传递到我的模板的文本输入字段。

我的问题是输入字段中的引号在传递到我的模板之前没有被转义,所以我无法知道它们是否包含单引号或双引号,甚至两者都包含。无论我尝试以何种方式处理数据,我的代码最终都会中断,因为引号终止了字符串声明。我想对数据运行一个函数来转义引号,但我找不到先将数据放入有效变量的方法。

有没有什么方法可以在不破坏字符串变量声明的情况下安全地处理 JavaScript 中的数据?

编辑:我正在发布代码示例;

CMS 文本输入字段值是:谁将赢得我们的“大赛”?

文本输入字段占位符宏是 [%TextInput%]

我正在为此输入构建一个 HTML 模板,仅使用 JS/HTML/CSS

<script>
(function(){
var textInputStr = "[%TextInput%]";
})();
</script>

如果 TextInput 的值包含单引号,这将破坏字符串声明,反之亦然。

最佳答案

这是一个很棒的问题,也是一个值得回答的问题。与大多数其他现代语言一样,JS 中的字符串没有自定义分隔符,因此您可能会遇到困难。但一种解决方案是构建一个脚本标签,其中包含占位符,然后找到该标签的 innerHTML 并将字符串抓取回变量中。例如

<script id="parseMe" type="text/template">
[%TextInput%]
</script>

然后使用

var yourString = document.getElementById("parseMe").innerHTML

现在您可以随心所欲地操作字符串了。

喂!

关于来自带有未转义引号的动态数据的 JavaScript 字符串声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17749196/

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