基本上,我正在接受用户输入并将其传递到php中的页面中的javascript函数。但是因为用户使用撇号,我收到了错误。什么是PHP中适当的转义函数用于将被引号包围的变量。 IE:
一些php:
$userString = "Joe's Pizza";
// escape here
echo "<script type=\"text/javascript\">myFunction('$userString');</script>";
非常感谢!
答案 0 :(得分:6)
将其包裹在对象/关联数组中并使用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;
...
}
这也允许您在需要时轻松使对象更复杂。
答案 1 :(得分:2)
addslashes; e.g。
$userString = addslashes("Joe's Pizza");
print '<script type="text/javascript">myFunction('$userString');</script>";;