-2

ちょっとひっかかりました。ソーシャル ネットワーキングのプライバシー意識向上サイトの検索機能を構築するのに忙しくしています。検索では、 https: //graph.facebook.com/search?q=i huge my Boss&type=post&limit=100&locale=en_GBを使用して実行できるように、Facebook Graph API にクエリを実行します。ユーザーがテキスト フィールドに入力して検索ボタンを押すと、php コードが残りの処理を行い、API にクエリを実行しますが、同時にhttps://graph.facebook.com/search?q=のようにクエリを実行します。ボス"。

質問はどうすればいいですか?私のコードは、それがどこにあるかを維持するために部分的にしかありません:

$str = $_REQUEST['query'];
$str = urlencode($str);
$fbquery = "https://graph.facebook.com/search?q={$str}&type=post&limit=100&locale=en_GB";

明らかに、引用符をどこに、またはどのように配置するかという質問をしていますか?

これで私を助けることができる人なら誰でも、とても感謝しています! 私は次のような他のことを試しました:

$str = '".$str."';

また

$str = '"$q"';

しかし、どれも機能していません。助けてください!

前もって感謝します :-)

4

4 に答える 4

1

これを試して。それは簡単です。

$str = '"'.$str.'"';

于 2012-08-04T18:10:20.770 に答える
1

URL で GET を介してクエリ文字列を渡しているため、URL で渡す前にクエリをエンコードする必要があります。

php urlencode関数がこれを行います。

代わりに:

y = "https://graph.facebook.com/search?q={$str}";

必要がある

$encoded_str = urlencode($str);
y = "https://graph.facebook.com/search?q={$encoded_str}";

例:

https://graph.facebook.com/search?q=良いワイン

対。

https://graph.facebook.com/search?q=good%20wine

2 番目の例で は、 は次のように変換されます。%20

于 2012-08-04T18:07:43.523 に答える
0

の前に引用符を追加するとうまくいくと思いますurlencodehttp_build_query関数の使用も検討してください。これにより、有効なクエリ文字列の結果が得られ、もう少し読みやすくなります。

$params = http_build_query(array(
    'q' => '"'.$str.'"',
    'type' => 'post',
    'limit' => 1000,
    'local' => 'en_GB',
));

print 'https://graph.facebook.com/search?'.$params;

私のテストでは、引用符を追加しても、Facebook から返された結果は変わりません。

于 2012-08-04T18:08:28.617 に答える
-1

これはどう:

$fbquery = "https://graph.facebook.com/search?q=\"{$str}\"&type=post&limit=100&locale=en_GB";

于 2012-08-04T18:07:10.803 に答える