javascript - 在 Javascript 中使用单引号和双引号转义和取消转义字符串

标签 javascript php jquery escaping html-escape-characters

我有一个搜索框,用户可以在其中搜索任何字符串,包括单引号和双引号,搜索完成后,后端会将关键字传回给我,这样我就可以将其放回框中。我不知道字符串是什么,所以我自己无法转义引号,下面是一个例子:

var keyword = "hello";
$("#selectionkeywords").val();

我遇到的问题是,如果用户输入“hello”,关键字变为“hello”,我会收到此错误:

missing ) after argument list
[Break On This Error]   
jQuery("#selectionkeywords").val(""hello"");

用户也可以输入单引号,这样也可以排除它。我尝试使用 escape unescape 但我仍然遇到同样的问题,例如逃脱(“”你好“”) 我可以获得未转义格式的值,例如“你好”,但我不知道该怎么办,转义对它不起作用我最终得到了这个 %26%23034%3Bhello%26%23034%3B

所以我现在几乎被困住了,因为我无法对字符串做任何事情,有什么想法吗?

最佳答案

你必须在服务器端转义字符串,所以 javascript 接收到它已经转义了,对于 PHP 你可以这样做:

$var = str_replace('"', '\"', $var);

然后在 javascript 中确保你在双引号之间阅读它,因为你为此进行了转义:

//use double quotes, as you escaped for them
jQuery("#selectionkeywords").val("<?php echo $var ?>"); 

关于javascript - 在 Javascript 中使用单引号和双引号转义和取消转义字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078572/

相关文章:

javascript - 拒绝通过在菜单周围单击来激活菜单

javascript - 谷歌浏览器STATUS_ACCESS_VIOLATION错误

javascript - JSP 中的动态文本字段以及来自 MYSQL 数据库的项目选择数据

javascript - 即使在返回 false jquery 后仍提交表单

jquery 代码使用附加显示对 html 表的 json 响应

javascript - 使用真实 XHR 数据/passThrough() 的 AngularJS/Karma 单元测试

php - 如何安装 Yiistrap?我得到 CException Property "CUrlManager.bootstrap"is not defined

php - 自动完成地址表跨两个表

php - 在 MongoDB 中跟踪独特的网页浏览量和独特的访问者

jquery - $(this).addClass ('why-you-no-working' );不在航点上工作?