让我们想象一个表单编辑器,它可以编辑可用值。如果数据包含"
字符(双引号),它会“破坏”HTML 代码。我的意思是,让我们检查一下代码:所以我生成了 HTML:
onclick="var a = prompt('New value: ', '<?php echo addslashes($rec[$i]); ?>'); if (a != null)....
结果是
onclick="var a = prompt('New value: ', 'aaaa\"aaa'); if (a != null) { v....
这使得 JS 无法工作,从而破坏了代码。使用单个 qoute'
可以正常工作。mysql real escape
做同样的事情。如何转义任何字符串以免破坏javascript?
json_encode 看起来不错,但我一定做错了什么,它仍然很糟糕:这是 Firefox 看到它的屏幕截图 - 它插入了一个“坏”双引号!该值只是一个简单的数字:
http://img402.imageshack.us/img402/5577/aaaahf.gif
我确实使用过:
('Ird be az új nevet:', <?php echo json_encode($rec['NAME']); ?>); if (a) {