2010-12-02 111 views
0

這裏我正在檢查和獲取部分請求(ID)。我還打印出整個請求:

if (isset($_REQUEST['ids'])){ 
    $amount = sizeof($_REQUEST['ids']); 
    print_r($_REQUEST); 
    echo "<br>$amount invitations Successfully Sent"; 
} 

這是怎樣的整個$ _REQUEST打印出:

Array 
(
    [mfs_typeahead_req_form_4cf74f96db3688507476560] => Start Typing a Name 
    [ids] => Array 
     (
      [0] => 510149460 
     ) 
    [fbs_258181898823] => \"access_token=258181898823|2.q_qb_yoReO0_xc4H8PxKRQ__.3600.1291280400-100000664203700|LqtGr_OiJTASGmek61awxmxfvFk&expires=1291280400&secret=85eTEELZj8lkV82V_PwRSA__&session_key=2.q_qb_yoReO0_xc4H8PxKRQ__.3600.1291280400-100000664203700&sig=d4cc0e4c0992ea29c0adfd60dc27185b&uid=100000664203700\" 
) 

我需要在端部來解析部分:& UID = 100000664203700,具體「100000664203700 '

+0

你可以用的preg_match http://php.net/manual做/en/function.preg-match.php – 2010-12-02 18:24:50

+0

這裏不要使用`$ _REQUEST`。請參閱http://stackoverflow.com/questions/368329/php-using-get-post-instead-of-request – Lekensteyn 2010-12-02 18:32:30

回答

0

parse_str()將分解看起來像查詢字符串的東西。我建議你傳遞一個數組作爲第二個參數。

1
$queryString = $_REQUEST["fbs_258181898823"]; 
$output = array(); 
parse_str($queryString, $output); 
print $output["uid"]; 
0

首先,刪除\"(使用preg_replace和組合stripslashes)在開始和結束,然後使用parse_str

$str = preg_replace('/(^"|"$)/', '', stripslashes($_REQUEST['fbs_258181898823'])); 
parse_str($str, $data); 
$uid = $data['uid'];