2017-11-28 18 views
-4

文字列をURLからPHPオブジェクトに変換する方法はありますか?私はそれが有効なJSON形式ではないことを知っていますが、私はそれを正しく変換する方法はまだ分かりません。文字列(JSオブジェクト形式)をPHPオブジェクトに変換する

次のコードは、NULLを返します。

$url = 'https://cdn.shopify.com/s/javascripts/currencies.js'; 
$decodedCurrencies = json_decode(file_get_contents($url)); 
var_dump($decodedCurrencies); 
+0

あなたがはい、私はこの文字列を変換する方法を知っているが、 – Zeljka

+2

そのそののJSスクリプト –

+0

を返すJSONないページのコンテンツは、最初に引く必要がありますURLからPHPオブジェクトへ? –

答えて

3

あなたは金利配列を抽出し、それを復号化するために正規表現を使用することができます。このような

何か:

$url = 'https://cdn.shopify.com/s/javascripts/currencies.js'; 
$script = file_get_contents($url); 
$matches = []; 
preg_match('/.+(\{.+}).+/', $script, $matches); 

$decodedCurrencies = json_decode($matches[1]); 
var_dump($decodedCurrencies); 

出力:

object(stdClass)#1 (179) { 
    ["USD"]=> 
    float(1) 
    ["EUR"]=> 
    float(1.1637) 
    ["GBP"]=> 
    float(1.31291) 
    ["CAD"]=> 
    float(0.778138) 
    ["ARS"]=> 
    float(0.0566433) 
    ["AUD"]=> 
    float(0.766026) 
    ["BRL"]=> 
    float(0.303944) 
    ["CLP"]=> 
    float(0.00157516) 
... 
} 
+0

それは良い解決策かもしれませんが、それは私のために働いていません:/ –

+0

@PawełKwiatkowski、何が問題なのですか? –

+0

出力はまったくありません。var_dump($ decodedCurrencies);空のページを返します –

関連する問題