我正在使用以下代码从php执行一些javascript函数:
echo '<script language="javascript" type="text/javascript">window.top.window.updateLog("fornecedores","'.$errorMsg.'");</script>';
问题在于,有时$ errorMsg有一些"
会导致语法错误。
我该怎么办?
由于
答案 0 :(得分:1)
我会这样做:
echo '<script language="javascript" type="text/javascript">window.top.window.updateLog("fornecedores",'.json_encode($errorMsg).');</script>';
我研究了如何将PHP值插入JS代码
结果 - 我发现使用json_encode()
是最完美的方式
因为许多的原因。
答案 1 :(得分:-1)
使用addslashes($errorMsg)
。http://php.net/manual/en/function.addslashes.php
答案 2 :(得分:-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