Firebase, PHP

PHP Firebaseのコンフィグをパース

Firebase

 

 

<?php
const KEY_INDEX = 1;

$str = <<< EOF
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/7.14.6/firebase-app.js"></script>
<!-- TODO: Add SDKs for Firebase products that you want to use
     https://firebase.google.com/docs/web/setup#available-libraries -->
<script src="https://www.gstatic.com/firebasejs/7.14.6/firebase-analytics.js"></script>
<script>
  // Your web app's Firebase configuration
  var firebaseConfig = {
    apiKey: "xxxxxxxxxxxxx",
    authDomain: "xxxxxxxxx",
    databaseURL: "https://example.com",
    projectId: "example-dev",
    storageBucket: "sample-dev.appspot.com",
    messagingSenderId: "xxxxxxxxxxxx",
    appId: "1:xxxxxxxx:web:xxxxxxxxxxxxx",
    measurementId: "G-xxxxxxxxxxxx"
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  firebase.analytics();
</script>

EOF;


$firebase_config = [];
$match_api_key = [];
$match_project_id = [];
$match_app_id = [];
$match_measurement_id = [];

$replace = [
  // '置換前の文字' => '置換後の文字',
  '"' => '',
  '\'' => '',
  '<' => '',
  '>' => '',
  '&' => '',
];

preg_match('/apiKey: "(.+)"/', $str, $match_api_key);
preg_match('/projectId: "(.+)"/', $str, $match_project_id);
preg_match('/appId: "(.+)"/', $str, $match_app_id);
preg_match('/measurementId: "(.+)"/', $str, $match_measurement_id);
$api_key = str_replace(array_keys($replace), array_values($replace), $match_api_key[KEY_INDEX]);
$project_id = str_replace(array_keys($replace), array_values($replace), $match_project_id[KEY_INDEX]);
$app_id = str_replace(array_keys($replace), array_values($replace), $match_app_id[KEY_INDEX]);
$measurement_id = str_replace(array_keys($replace), array_values($replace), $match_measurement_id[KEY_INDEX]);

$firebase_config = [
    'api_key' => $api_key,
    'project_id' => $project_id,
    'app_id' => $app_id,
    'measurement_id' => $measurement_id,
];
unset($match_api_key);
unset($match_project_id);
unset($match_app_id);
unset($match_measurement_id);

var_dump($firebase_config);

 

$ php parse_test.php

array(4) {
  ["api_key"]=>
  string(39) "xxxxxxxxxxxxxxx"
  ["project_id"]=>
  string(11) "sample-dev"
  ["app_id"]=>
  string(41) "1:xxxxxxxxx:web:xxxxxxxxxxxxx"
  ["measurement_id"]=>
  string(12) "G-xxxxxxxxxxxx"
}

 

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)