从 php 构建 javascript 时转义引号

发布于 2024-12-11 22:34:38 字数 291 浏览 0 评论 0原文

基本上,我获取用户输入并将其从 php.ini 传递到页面中的 javascript 函数。但由于用户使用撇号,我收到错误。 php 中对用引号引起来的变量使用正确的转义函数是什么? IE:

一些 php:

$userString = "Joe's Pizza";
// escape here
echo "<script type=\"text/javascript\">myFunction('$userString');</script>";

非常感谢!

Basically, I'm taking user input and passing it to a javascript function in a page from php. But because the user use's apostrophes, I'm getting errors. What's the proper escape function in php to use on a variable that will be surrounded by quotes. IE:

Some php:

$userString = "Joe's Pizza";
// escape here
echo "<script type=\"text/javascript\">myFunction('$userString');</script>";

Thanks much!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

∞琼窗梦回ˉ 2024-12-18 22:34:38

将其包装在对象/关联数组中并使用 json_encode

$array = array('data' => $userString);
$encoded_array = json_encode($array);
echo "<script type=\"text/javascript\">myFunction($encoded_array);</script>";

myFunction 可能如下所示:

function myFunction(obj)
{
  var data = obj.data;
  ... 
}

如果需要,这还允许您轻松地使对象变得更加复杂。

Wrap it in an object/associative array and use json_encode.

$array = array('data' => $userString);
$encoded_array = json_encode($array);
echo "<script type=\"text/javascript\">myFunction($encoded_array);</script>";

myFunction could look like:

function myFunction(obj)
{
  var data = obj.data;
  ... 
}

This also allows you to easily make the object more complex if needed.

泪是无色的血 2024-12-18 22:34:38

addslashes;例如

$userString = addslashes("Joe's Pizza");
print '<script type="text/javascript">myFunction('$userString');</script>";;

addslashes; e.g.

$userString = addslashes("Joe's Pizza");
print '<script type="text/javascript">myFunction('$userString');</script>";;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文