Re: Reading Text file by line

From: Date: Mon, 24 Feb 2003 16:51:52 +0000
Subject: Re: Reading Text file by line
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-136944@lists.php.net to get a copy of this message
At 17:24 24.02.2003, Anthony spoke out and said: --------------------[snip]-------------------- >I need to read a text file by line, if I open the file and use fgets() then >it doesn't pick up the EOL corretly. So I was planning on reading the whole >file in with fread() and then breaking it up by EOL characters. My question >is, how do I do it? What character do I search for in the string? Anyone >have a simple example on how to do this? Thanks. --------------------[snip]-------------------- A "line" is usually terminated by either <LF> (Unix-Style) or <CR><LF> (Win style). I heard that some macies do it the other way round, terminating with either only <CR> ot <LF><CR>. If you don't know exactly how lines will be terminated, first use str_replace to normalize the line terminations: $data = str_replace(array("\r\n", "\n\r", "\r", "\n"), "\n", $data); then simple explode() the data to receive an array of lines: $arlines = explode("\n", $data); You could also use preg_split to combine these operations: $arlines = preg_split("/(\r\n|\n\r|\r|\n)/s", $data); Disclaimer: all untested. -- >O Ernest E. Vogelsinger (\) ICQ #13394035 ^ http://www.vogelsinger.at/

« previous php.general (#136944) next »