现在我有这个用于我的 javascript 代码
'title': '<?=$name?>',
问题是,有时 $name 会在其中包含一个撇号,并且可以使代码看起来像这样
'title': 'Bon Jovi It's My Life - Bon Jovi',
这基本上搞砸了javascript。
我会在 $name 上做一个 mysql_real_escape_string 吗?当我去使用它时,它不会在标题中留下斜线吗?
谢谢
现在我有这个用于我的 javascript 代码
'title': '<?=$name?>',
问题是,有时 $name 会在其中包含一个撇号,并且可以使代码看起来像这样
'title': 'Bon Jovi It's My Life - Bon Jovi',
这基本上搞砸了javascript。
我会在 $name 上做一个 mysql_real_escape_string 吗?当我去使用它时,它不会在标题中留下斜线吗?
谢谢
<script type="text/javascript">
var myJson = {
title: '<?php echo addslashes($somePHPVar) ?>'
};
</script>
addslashes
是关键。请参阅文档。
str_replace()
在将字符串发送到 javascript 之前使用
str_replace($name, ' ', '-');
使用json_encode()
. 永远不要使用字符串函数构建 JSON。