将php输出清理成javascript

时间:2011-03-14 12:48:37

标签: php javascript

由于我的项目的性质。我从我的数据库中提取数据并输出到javascript。事情进展顺利,直到我得到主要内容。它有像(;,:, - '')这样的字符串。如何确保显示这些内容而不破坏我的脚本因为现在似乎没有任何工作。

3 个答案:

答案 0 :(得分:5)

如果您拥有的是单个字符串值,请参阅Tomalak Geret'kal的答案。

如果有可能从数据库中获取多个值,例如数组,对象,null或更复杂的值,那么我建议使用json_encode。通过使用这样的东西:

<script>
var your_JavaScript_variable = <?php echo json_encode(your_PHP_variable); ?>;
</script>

您可以将复杂的数据结构,数组甚至单个字符串从PHP传递到JavaScript,并自动完成所有反斜杠转义。

此外,当您使用JSON将数据从PHP移动到JavaScript时,将很容易使您的应用程序异步从服务器获取数据,而无需在将来使用AJAX进行页面刷新。

答案 1 :(得分:3)

您可以使用PHP addslashes函数插入Javascript,使用htmlspecialchars插入HTML。

答案 2 :(得分:1)

您应该将该数据编码为json。 PHP有一个方便的功能,json_encode。

请务必使用JSON_HEX_QUOTE选项,否则数据中的引号会破坏您的js。

阅读本文:http://php.net/manual/en/function.json-encode.php