0
我有這個文本文件閱讀文件和分裂與分隔符
acmst501:57:Runningacmst506:201:Runningacmst506:203:Runningacmst506:209:Runningacmst506:213:Failed
,我想用分隔符分割。我有這個代碼工作。
<?php
function parseFile($filename, $delimiter) {
global $splitcontents;
//$fd = fopen ($filename, "r");
//$contents = fread ($fd,filesize ($filename));
//fclose ($fd);
$contents = file_get_contents($filename);
$splitcontents = explode($delimiter, $contents);
return $splitcontents;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Read file and split with delimiter</title>
</head>
<body>
<?php
parseFile("c:\emap\asrvr505-cslot_state.txt",":");
foreach ($splitcontents as $value) {
echo "<b>$value<br>";
}
?>
</body>
</html>
和輸出我得到的是這樣的:
acmst501
57
Running acmst506
201
Running acmst506
203
Running acmst506
209
Running acmst506
213
Failed
不過,我想它是這樣的:
acmst501
57
Running
acmst506
201
Running
...
所以基本上,我想在運行單獨的/失敗的部分來自acmst字段。
我該如何區分這些?另外,我的函數是否正確,以便可以將它用於同一個PHP文件中的不同文件?謝謝!
嗨阿里爾。謝謝!是的,'Runningacmst506'之間沒有分隔符,但我需要將它們分開。好的是acmst部分是恆定的,只有數字被改變。另外,運行部分可能會更改爲失敗等。 – JudeJitsu 2012-07-19 01:42:05
@JudeJitsu然後使用'explode()'和'acmst'作爲分隔符。你最終會得到只有數字,沒有單詞acmst,但你可以把它放回去。你也可以喜歡正則表達式,但我認爲對你來說,最好是寫一個循環。雖然如果你想半獨立使用帶有匿名函數的'array_map()', – Ariel 2012-07-19 01:50:13
我已根據您的建議應用了'file_get_contents'。你的意思是我應該爆炸'$ splitcontents',因爲如果我這樣做的話,我會一直收到錯誤。關於'array_map()',我該怎麼做? – JudeJitsu 2012-07-19 01:54:01