Skip to content

Instantly share code, notes, and snippets.

@Huruikagi
Created September 7, 2016 13:55
Show Gist options
  • Save Huruikagi/073e48d08901564b548e848211e61ffa to your computer and use it in GitHub Desktop.
Save Huruikagi/073e48d08901564b548e848211e61ffa to your computer and use it in GitHub Desktop.
wp-config.phpに記述された設定情報をNode.jsで読み込むための文字列抽出処理のテスト
// テスト用サンプル文字列
const target = `
// ほげ
もげもげ
define('DB_NAME', 'でぃーびーねーむ');
// うげ
define('DB_PASSWORD', 'ぱすわーど');
`;
// define関数の部分を切り出すための正規表現
const regExp = /define\('.+?'\);/g;
// 正規表現とreplaceとか使って必要な情報を抽出する
const matched = target.match(regExp)
.map(
// HITした部分文字列毎に処理
defineState =>
defineState
// 前のほうの要らない部分を除去
.replace("define('", "")
// 後ろのほうの要らない部分を除去
.replace("');", "")
// keyとvalueを切り分ける
.split("', '")
);
// 結果を格納するオブジェクト
const result = {};
for (const item of matched) {
result[item[0]] = item[1];
}
// 出力結果:
// { DB_NAME: 'でぃーびーねーむ', DB_PASSWORD: 'ぱすわーど' }
console.log(result);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment