Re: Different OS, Different Line Break, Be a Little Problem
| From: | Helgi Þormar | Date: | Fri, 21 Jan 2005 18:37:31 +0000 |
| Subject: | Re: Different OS, Different Line Break, Be a Little Problem | ||
| References: | 1 2 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-35670@lists.php.net to get a copy of this message | ||
On Fri, 2005-01-21 at 18:25, Justin Patrin wrote:
> On Fri, 21 Jan 2005 20:00:09 +0700, Firman Wandayandi
> <orangenigma@gmail.com> wrote:
> > Hi guys,
> >
> > I has a little problem with line break character, when i developing
> > Contact_AddressBook, I tried to using different format of file,
> > actually I used Windows (CRLF), Unix (LF) and Mac (CR).
> > Contact_AddressBook use File_CSV (PEAR::File Package) to handling CSV
> > file, when I sets the config 'crlf' = "\r\n" then I given Windows and
> > Unix file format, everything fine, but when i given Mac format it
> > doesn't working.
> >
> > PEAR.php, only defined OS_WINDOWS and OS_UNIX also PEAR_OS which the
> > value is one of 'Windows' or 'Unix', I think, I able to resolve this
> > problem if I know what the OS.
> >
> > My questions:
> > 1. How to know what the OS, Windows/Unix/Mac family? Actually the
> > problem is Mac, cause I can't testing there, I have no Mac OS :-D
> > installed.
> > 2. Does it needed to define OS_MAC and PEAR_OS = 'Mac' in PEAR.php?
> >
>
> Sounds more like you need to do some sanitizing in your CSV file
> before running it through File_CSV. I would suggest something like
> this:
> $str = str_replace("\r", "\n", str_replace("\r\n",
> "\n", $str));
>
> Then pass in "\n" as the 'crlf'.
That actually sounds like the best way to go, unless of course he
needs/wants to keep the crlf stuff :-)
- Helgi