我想解析一個文件,並將它存儲到Array
的PHP
中。但是,應遵守一些規則:正則表達式php來解析文件
- (p =「value」)應該被忽略,但應該保留
"value"
。 -
應該被忽略。- 空格應該被忽略。
- 除以
\t
和\n
。
樣本字符串爲:
NPD4196-2a_5_0
Geldanamycin - 0.166516 (p = 0.0068) Alamethicin - 0.158302 (p = 0.0206) 4-Hydroxytamoxifen - 0.1429 (p = 0.0183) Abietic acid - 0.133045 (p = 0.0203) Caspofungin - 0.130885 (p = 0.0432) Extract 00-303C - 0.12858 (p = 0.0356) U73122 - 0.113274 (p = 0.0482) Radicicol - 0.10213 (p = 0.0356) Calcium ionophore - 0.096183 (p = 0.0262)
所以,我們的目標是產生類似的數據結構:
Array('NPD4196-2a_5_0' => Array(Array(0 => 'Geldanamycin', 1 => '0.166516', 2 => '0.0068'), Array(...));
我有這個迄今爲止寫的...
while(($line = fgets($fp)) !== false){
$args = preg_split('/[\t\n (=) ]+/', $line, -1, PREG_SPLIT_NO_EMPTY);
if(count($args)){
print_r($args);
print "\n";
}
}
我在其他方面錯過了什麼來完成我的目標? 由於
幹得好!謝謝 – cybertextron 2012-08-04 21:16:00