Created
September 7, 2016 13:55
-
-
Save Huruikagi/073e48d08901564b548e848211e61ffa to your computer and use it in GitHub Desktop.
wp-config.phpに記述された設定情報をNode.jsで読み込むための文字列抽出処理のテスト
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// テスト用サンプル文字列 | |
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