0

私はhttpapiからデータを収集し、apiの1つは、残りのクレジットの残高を確認することです。これが私がやりたいことです。file_contentsをフェッチし、受信した出力から残りのクレジットを挿入します。

        $bal =  file_get_contents("http://www.example.com/balancecheck.php?username=123&api_password=123");

これはこのようなデータを出力します

username = 123
validity = 31/03/2103
remaining credits = 5000
user credits = 3000

今、私は5000だけを取得したいと思います(これは残りのクレジットであり、私のデータベースに同じものを挿入します)

explodeを使いたかったのですが、運がありませんでした。誰か助けてもらえますか

4

1 に答える 1

1

PHPドキュメントから:

説明

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) パターンで指定された正規表現に一致するサブジェクトを検索します。

したがって、必要なのは次のとおりです。

preg_match( "/remaining credits = (\d+)/", file_get_contents($url), $matches);
$balance = $matches[1];

編集:

関数呼び出し$の前に余分なものがありました。file_get_contentsPHPを使えば、どこにでもドル記号を付けることができると思いました。今すぐ修正する必要があります。

編集2:

以前持っていまし$balance = $matches[0]たが、修正されました。括弧は、一致として番号だけをキャプチャし、それを配列(\d+)の最後に追加します。$matches

于 2013-03-06T08:50:42.730 に答える