第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

解析 PHP 中的配置文件(鍵值)

解析 PHP 中的配置文件(鍵值)

PHP
天涯盡頭無女友 2022-01-02 13:52:54
我有一個(gè)配置文件,其結(jié)構(gòu)如下所示:#comment1key1 value1#comment2key-key2 value2#comment3key3 value3 value4我一直在嘗試使用以下代碼在 PHP 中解析它:$lines = explode(PHP_EOL, $string);$config = [];foreach ($lines as $l) {    preg_match("/^(?P<key>\w+)\s+(?P<value>.*)/", $l, $matches);    if (isset($matches['key'])) {        $config[$matches['key']] = $matches['value'];    }}但是我無法正確使用正則表達(dá)式,上面的正則表達(dá)式僅適用于帶有 #comment1 的行,它不能正確解析 key-key2 并且 #comment3 key-value 有 2 個(gè)值,它們應(yīng)該只是數(shù)組中的 1 個(gè)字符串.我希望有的輸出:[   'key1' => 'value1',   'key-key2' => 'value2',   'key3' => 'value3 value4']任何人都可以幫助我使用正則表達(dá)式?
查看完整描述

2 回答

?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊

它應(yīng)該足夠簡(jiǎn)單,不必使用正則表達(dá)式,因?yàn)槟梢?很容易地在行的開頭進(jìn)行檢查,然后使用explode()空格和 2 個(gè)部分的限制來提取密鑰和數(shù)據(jù)...


$lines = explode(PHP_EOL, $string);

$config = [];


foreach ($lines as $l) {

    if ( !empty($l) && $l[0] != '#' ) {

        list($key, $value) = explode(" ", $l, 2);

        $config[$key] = $value;

    }

}

print_r($config);


查看完整回答
反對(duì) 回復(fù) 2022-01-02
?
子衿沉夜

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

使用您現(xiàn)有的代碼;只需將空間限制為 2 個(gè)元素的每一行分解,并檢查您是否獲得 2 個(gè)元素:


$lines = explode(PHP_EOL, $string);


foreach ($lines as $l) {

    if(count($parts = explode(' ' , $l, 2)) == 2) {

        $config[$parts[0]] = $parts[1];   

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-01-02
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)