RE: [PHP] Null character as field seperator in a string.
> On Monday 29 April 2002 18:26, Dave MacRae wrote: > > For historic reasons, I have a file that contains a number of records in > > which the fields are seperated by the NULL character, i.e, > > > > field1\0field2\0field3\0field4 > > > > I need to parse out the fields from this string. > > > > The string is read into the program using > > > > $buffer = fgets(...). > > > > This would be no problem in Perl or C but I cannot get this to > work in PHP. > > > > I have tried using > > > > preg_split("/\0/", $buffer); > > > > But this fails. I've tried walking through the string but it seems that > > $buffer only has the content up to the first NULL character. > > Try using fread() to get your file (it's binary safe). Then use: > > explode(chr(0), $buffer); > > to separate your fields. I'm beginning to think this may be the only solution. I now have to figure out how to process the records as I'm looking for the data in a particular line in the file, this should be fairly easy. Thanks. Dave -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Null character as field seperator in a string.
On Monday 29 April 2002 18:26, Dave MacRae wrote: > For historic reasons, I have a file that contains a number of records in > which the fields are seperated by the NULL character, i.e, > > field1\0field2\0field3\0field4 > > I need to parse out the fields from this string. > > The string is read into the program using > > $buffer = fgets(...). > > This would be no problem in Perl or C but I cannot get this to work in PHP. > > I have tried using > > preg_split("/\0/", $buffer); > > But this fails. I've tried walking through the string but it seems that > $buffer only has the content up to the first NULL character. Try using fread() to get your file (it's binary safe). Then use: explode(chr(0), $buffer); to separate your fields. -- Jason Wong -> Gremlins Associates -> www.gremlins.com.hk Open Source Software Systems Integrators * Web Design & Hosting * Internet & Intranet Applications Development * /* I have gained this by philosophy: that I do without being commanded what others do only from fear of the law. -- Aristotle */ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Null character as field seperator in a string.
> Hey.. > > yeah I might.. > > > I don't know if I am right or just blabbering crap > > but try to add these param's to your regex statement.. > > > preg_split("/\0/i", $buffer); > > > note the i.. It should let it read past newlines.. although you're prob is > with null (\0) chars.. > > > as I said.. Don't know if I am on the right track.. but it's > worth a go eh?? Unfortunatly I get the message "Warning: No ending delimiter '/' found in " when I try this. It appears that PHP is interpreting the \0 as a string terminator for the pattern match :( Dave -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Null character as field seperator in a string.
Hey.. yeah I might.. I don't know if I am right or just blabbering crap but try to add these param's to your regex statement.. preg_split("/\0/i", $buffer); note the i.. It should let it read past newlines.. although you're prob is with null (\0) chars.. as I said.. Don't know if I am on the right track.. but it's worth a go eh?? good luck.. - Original Message - From: "Dave MacRae" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, April 29, 2002 8:26 PM Subject: [PHP] Null character as field seperator in a string. > For historic reasons, I have a file that contains a number of records in > which the fields are seperated by the NULL character, i.e, > > field1\0field2\0field3\0field4 > > I need to parse out the fields from this string. > > The string is read into the program using > > $buffer = fgets(...). > > This would be no problem in Perl or C but I cannot get this to work in PHP. > > I have tried using > > preg_split("/\0/", $buffer); > > But this fails. I've tried walking through the string but it seems that > $buffer only has the content up to the first NULL character. > > Does anyone have a simple solution to this problem. > > Regards > > Dave > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php