0

我正在使用以下命令从 php 执行一些 javascript 函数:

echo '<script language="javascript" type="text/javascript">window.top.window.updateLog("fornecedores","'.$errorMsg.'");</script>';

问题是有时 $errorMsg 有一些"使其语法不正确的原因。我应该怎么办?

谢谢

4

3 回答 3

1

我会这样做:

echo '<script language="javascript" type="text/javascript">window.top.window.updateLog("fornecedores",'.json_encode($errorMsg).');</script>';

我研究了将 PHP 值插入 JS 代码。
结果 - 我发现使用json_encode()是最完美的方式。
出于很多原因。

于 2013-06-19T16:32:36.040 回答
-1

您应该使用heredoc语法以正确地将其他脚本作为字符串回显:

echo <<<ADF

<script language="javascript" type="text/javascript">

window.top.window.updateLog('fornecedores','$errorMsg')

</script>

ADF;

这是文档链接:http ://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

于 2013-06-19T16:30:39.313 回答
-1

addslashes($errorMsg)用. http://php.net/manual/en/function.addslashes.php转义 "

于 2013-06-19T16:26:44.730 回答