2010-02-20 52 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'