提问人:ADM 提问时间:2/3/2017 最后编辑:ADM 更新时间:2/6/2017 访问量:65
在函数调用中放置的 javascript 变量中转义引号
Escaping quotes in javascript variable placed in function call
问:
我的html中有一个编辑图像,其中包含:
onclick="javascript:editBook(author,title)"
author 和 title 是包含 PHP 脚本中值的变量。editBook是一个打开新窗口的功能,可以在其中编辑书的作者和标题。
标题可能包含带引号的标题,当标题包含引号时,单击时会导致“Uncaught SyntaxError: Invalid or unexpected token”错误。
我必须做些什么才能摆脱书名中的引号?
除了引号之外,还有另一个符号,如&,一本书的标题可以包含。我怎样才能逃脱呢?
谢谢!
答:
0赞
Web Dev Guy
2/3/2017
#1
您需要使用上面输入的键的反斜杠字符\
参考 http://www.w3schools.com/js/js_strings.asp
评论
0赞
ADM
2/3/2017
我看不到任何关于变量内引号以及如何转义它们的章节。如果你找到它,请告诉我。谢谢
0赞
Web Dev Guy
2/4/2017
根据您编辑的答案,您似乎想要连接。因此,如果作者和标题是变量,请执行此操作onclick="javascript:editBook(" + author + "," + title + ")"
0赞
ADM
2/6/2017
#2
在 PHP 脚本中:
function javascript_escape($string)
{
return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
评论