2010-02-20 53 views
0

我有一個TextFile.txt的3個eintries:閱讀文本文件與分隔符在PHP

20100220 
Hello 
Here is Text \n blah \t even | and & and so on... 

我想讀每個entrie(線)在PHP一個新的字符串。我想過使用fopen和fgets。但是:由於我在最後一行使用特殊字符(如\ n),fgets()不起作用,因爲它會終止字符串\ n,對嗎?結果,最後一行將是'Here is Text'。

我如何讀/爆炸三人行正道,所以在最後一行\ n將被解釋爲正常的字符串? 謝謝!

p.s. 通過在我的textfile.txt中有三行我間接選擇了\ n作爲分隔符,但我也可以使用另一個分隔符。什麼纔是閱讀內容的最佳方式?

+0

你試過嗎?據我所知,'fgets()'查找'「\ n」'(換行符),這與'\ n''(字符串\ n)不一樣。 – 2010-02-20 10:55:35

+0

好的。不,我沒有,但我會嘗試。 – creativz 2010-02-20 10:56:14

回答

2

你有兩個選擇:

1.-使用file()獲得與各行的元素

$lines_of_file = file("myfile.txt"); 
//Now $lines_of_file have an array item per each line 

2:使用file_get_contents()(由 '\ n' 分隔)的陣列來獲得一個單一的字符串,然後你可以分裂你想要的任何分隔符

$file_content = file_get_contents("myfile.txt"); 
$file_content_separated_by_spaces = explode(" ", $file_content); 
1

使用file(),即會自動給你的行由行陣:

$rows = file('textfile.txt'); 

即使你使用fgets和,因爲它是區別對待這樣的,你應該能夠與"\n"正確爆炸比文字'\n'