是否可以使用以安全的方式从SQL数据库中获取的PHP变量动态填充Facebook Feed对话框?
...
// calling the API ...
var obj = {
method: 'feed',
redirect_uri: 'YOUR URL HERE',
link: 'https://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
name: 'Facebook Dialogs',
caption: 'Reference Documentation',
description: 'Using Dialogs to interact with people.'
};
...
我想这就是例如:
name: '<?php echo $name; ?>', etc..
应该是可能的..但是,如果名称包含'字符?与描述相同的是,因为那可能包含可能破坏javascript代码的不同特殊字符。
我怎样才能避免这种情况,或者是否有一个“纯粹的”基于php的方法来填充Feed对话框,其数据库内容为图像,名称,描述等。
答案 0 :(得分:1)
您想要生成一个javascript对象,最简单的方法是使用json_encode(),它将为您处理所有的转义:
<?php
$fb_feed = array(
'name' => $name,
'method' => 'feed',
...
);
?>
var obj = <?php echo json_encode($fb_feed) ?>;
请注意,如果由于某种原因您不想生成这样的整个对象,您也可以将它与单个字段一起使用:
var obj = {
method: 'feed',
name: <?php echo json_encode($name) ?>,
...
}