0

安全な方法で SQL データベースから取得した PHP 変数を使用して、Facebook のフィード ダイアログに動的にデータを入力することは可能ですか?

    ...
    // 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ベースの方法があります..

4

1 に答える 1

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) ?>,
      ...
}
于 2013-07-01T15:45:44.187 に答える