2017-04-05 12 views
0

CURLメソッドを使用してSMSアグリゲータからの応答を送信および受信します。私はレスポンスが複数行または単一の場合のPHPリスト関数

$curl_scraped_page = "success | 919********** | 659613958369444158-117942947553648183"; //THIS IS EXAMPLE 

は、だから私はハイフンの前に一意のID 659613958369444158を取得するには、リスト機能を使用して、このように、単一のSMSを送信する際

$url = "https://www.smsgatewaycenter.com/library/send_sms_2.php?".$request; 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$curl_scraped_page = curl_exec($ch); 
curl_close($ch);  
list ($status, $returnmobileno, $statusdetails) = split('\|', $curl_scraped_page); 

今私のアグリゲータは、単一のレスポンスを提供します。私は単一の応答を得るまで私はすべて良いですが、私が下で応答を得るとき、応答から最初のユニークなIDを得ることができません。与えられた複数行または単一行マルチ応答以上から

複数行応答

success | 917*********| 3287615453600499019-106346209426268709 
success | 919********* | 3287615453600499019-483762398162272572 
success | 9196********** | 3287615453600499019-204615952244351373 

またはシングルラインマルチレスポンス

success | 917*********| 3287615453600499019-106346209426268709 success | 919********* | 3287615453600499019-483762398162272572 success | 9196********** | 3287615453600499019-204615952244351373 

。私はちょうどsuccess/error3287615453600499019をキャッチし、私のDBに格納する必要があります。

preg_match()でも何とかそれを失った。

私はそれをどのように達成できなければいけませんか?私は最終的に3時間努力してここで助けを求めた後にやめました。

答えて

1

/(\d+)-/capture groupに必要な数を配置するだけで正常に動作する必要があります:

<?php 
$str = "success | 917*********| 3287615453600499019-106346209426268709 success | 919********* | 3287615453600499019-483762398162272572 success | "; 
if (preg_match("/(success|error) \|.*?\| (\d+)-(\d+)/", $str, $matches)) { 
    echo "$matches[1] - $matches[2]"; 
} else { 
    // no match 
} 

出力:

3287615453600499019 
+0

申し訳ありませんが、私は私の質問を編集して、私はあまりにも成功をキャッチする必要があります。 – yuri1000

+0

今、私はこのように追加しました。結果を得ていますが、正しいのか教えていただけますか? 'list($ status、$ returnmobileno、$ statusdetails)= split( '\ |'、$ str); echo $ status。 "
"。 $ returnmobileno。 "
"。 $ statusdetails。 "
"; $ result = preg_match( "/(\ d +)\ - /"、$ statusdetails、$ matches); print_r($ matches [1]); ' – yuri1000

+0

私はそれがあなたがそれを試しましたでしょうか?正規表現では余分なバックスラッシュは必要ありません。 – miken32

関連する問題