[PHP] Explode Question
I need to explode an array with an array. $one = array(0 ='golf', 1 = 'field'); $two = array(0 = On the golf course or in the field of clover); $array_exp = explode($one, $two); print_r('pre'); print_r($array_exp); print_r('/pre'); Notice: Array to string conversion. I have done this before but it is slipping my memory how I did it. I do NOT want to foreach over the initial array and read the second array for each position. I am not even sure I used the explode function. Richard L. Buskirk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Explode Question
$one = array(0 ='golf', 1 = 'field'); $two = array(0 = On the golf course or in the field of clover); $array_exp = explode($one, $two); What's the desired result? array('golf' = On the golf course or in the field of clover, 'field' = On the golf course or in the field of clover)); ? Marc -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Explode Question
The desired result is. Array ( [0] = On the; [1] = course or in the; [2] = of colver; ); I am just not sure the delimiter can be an array in the Explode function. Richard L. Buskirk -Original Message- From: Marc Guay [mailto:marc.g...@gmail.com] Sent: Tuesday, May 17, 2011 7:52 PM To: php-general@lists.php.net Subject: Re: [PHP] Explode Question $one = array(0 ='golf', 1 = 'field'); $two = array(0 = On the golf course or in the field of clover); $array_exp = explode($one, $two); What's the desired result? array('golf' = On the golf course or in the field of clover, 'field' = On the golf course or in the field of clover)); ? Marc -- 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
Re: [PHP] Explode Question
On 05/17/2011 07:53 PM, ad...@buskirkgraphics.com wrote: The desired result is. Array ( [0] = On the; [1] = course or in the; [2] = of colver; ); I am just not sure the delimiter can be an array in the Explode function. Richard L. Buskirk -Original Message- From: Marc Guay [mailto:marc.g...@gmail.com] Sent: Tuesday, May 17, 2011 7:52 PM To: php-general@lists.php.net Subject: Re: [PHP] Explode Question $one = array(0 ='golf', 1 = 'field'); $two = array(0 = On the golf course or in the field of clover); $array_exp = explode($one, $two); What's the desired result? array('golf' = On the golf course or in the field of clover, 'field' = On the golf course or in the field of clover)); ? Marc explode() takes three parameters; string, string, [int]. Where [int] is optional. Ex: $ipList = '192.168.1.0,192.168.1.1,192.168.1.2'; $ipList = explode(',',$ipList); Returns an array of strings: Array ( [0] = 192.168.1.0, [1] = 192.168.1.1, [2] = 192.168.1.2 ); -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Explode Question
On 05/17/2011 07:53 PM, ad...@buskirkgraphics.com wrote: The desired result is. Array ( [0] = On the; [1] = course or in the; [2] = of colver; ); I am just not sure the delimiter can be an array in the Explode function. Richard L. Buskirk -Original Message- From: Marc Guay [mailto:marc.g...@gmail.com] Sent: Tuesday, May 17, 2011 7:52 PM To: php-general@lists.php.net Subject: Re: [PHP] Explode Question $one = array(0 ='golf', 1 = 'field'); $two = array(0 = On the golf course or in the field of clover); $array_exp = explode($one, $two); What's the desired result? array('golf' = On the golf course or in the field of clover, 'field' = On the golf course or in the field of clover)); ? Marc Here's something to mess around with, to fit to your liking. ?php $one = array('golf','field'); $two = array(On the golf course or in the field of clover); $result = array_explode($one,$two); print_r($result); function array_explode($delimiters,$array) { if ( !is_array($delimiters) || !is_array($array) ) { //bail return; } $string = $array[0]; $regex = @(.implode('|',$delimiters).)@; return preg_split($regex,$string); } ? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Explode Question
That is exactly it. Thanks James I knew it was simple just forgot how it was done. Richard L. Buskirk -Original Message- From: James Yerge [mailto:ja...@nixsecurity.org] Sent: Tuesday, May 17, 2011 8:51 PM To: ad...@buskirkgraphics.com Cc: 'Marc Guay'; php-general@lists.php.net Subject: Re: [PHP] Explode Question On 05/17/2011 07:53 PM, ad...@buskirkgraphics.com wrote: The desired result is. Array ( [0] = On the; [1] = course or in the; [2] = of colver; ); I am just not sure the delimiter can be an array in the Explode function. Richard L. Buskirk -Original Message- From: Marc Guay [mailto:marc.g...@gmail.com] Sent: Tuesday, May 17, 2011 7:52 PM To: php-general@lists.php.net Subject: Re: [PHP] Explode Question $one = array(0 ='golf', 1 = 'field'); $two = array(0 = On the golf course or in the field of clover); $array_exp = explode($one, $two); What's the desired result? array('golf' = On the golf course or in the field of clover, 'field' = On the golf course or in the field of clover)); ? Marc Here's something to mess around with, to fit to your liking. ?php $one = array('golf','field'); $two = array(On the golf course or in the field of clover); $result = array_explode($one,$two); print_r($result); function array_explode($delimiters,$array) { if ( !is_array($delimiters) || !is_array($array) ) { //bail return; } $string = $array[0]; $regex = @(.implode('|',$delimiters).)@; return preg_split($regex,$string); } ? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Explode Question
On 05/17/2011 09:09 PM, ad...@buskirkgraphics.com wrote: That is exactly it. Thanks James I knew it was simple just forgot how it was done. Richard L. Buskirk -Original Message- From: James Yerge [mailto:ja...@nixsecurity.org] Sent: Tuesday, May 17, 2011 8:51 PM To: ad...@buskirkgraphics.com Cc: 'Marc Guay'; php-general@lists.php.net Subject: Re: [PHP] Explode Question On 05/17/2011 07:53 PM, ad...@buskirkgraphics.com wrote: The desired result is. Array ( [0] = On the; [1] = course or in the; [2] = of colver; ); I am just not sure the delimiter can be an array in the Explode function. Richard L. Buskirk -Original Message- From: Marc Guay [mailto:marc.g...@gmail.com] Sent: Tuesday, May 17, 2011 7:52 PM To: php-general@lists.php.net Subject: Re: [PHP] Explode Question $one = array(0 ='golf', 1 = 'field'); $two = array(0 = On the golf course or in the field of clover); $array_exp = explode($one, $two); What's the desired result? array('golf' = On the golf course or in the field of clover, 'field' = On the golf course or in the field of clover)); ? Marc Here's something to mess around with, to fit to your liking. ?php $one = array('golf','field'); $two = array(On the golf course or in the field of clover); $result = array_explode($one,$two); print_r($result); function array_explode($delimiters,$array) { if ( !is_array($delimiters) || !is_array($array) ) { //bail return; } $string = $array[0]; $regex = @(.implode('|',$delimiters).)@; return preg_split($regex,$string); } ? Not a problem, glad to be of help. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Explode-update-implode not working
At least not the way I expected it to. Apparently I am doing something wrong, but I can't find anything specific that explains it. This is in PHP 5.2.6. Here is the sequence I am trying to implement without the database portion. (This is typed in since the VNC I am using doesn't support pasting from a Linux client to a MS-Windows server.) - $buff = key1|value1~key2|value2; $lines = explode (~, $buff); foreach ($lines as $kvpair) { $line = explode (|, $kvpair); if ($line[0] == key1) { $line[1] = value3; $kvpair = implode (|, $line); break; } } $newbuff = implode (~, $lines); - $kvpair is modified, but that change is ignored by implode() with $newbuff still containing key1|value1. So why doesn't the change to $kvpair get brought in by implode? What should I do to update that value? Bob McConnell -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Explode-update-implode not working
On Tue, Jun 23, 2009 at 12:11 PM, Bob McConnellr...@cbord.com wrote: At least not the way I expected it to. Apparently I am doing something wrong, but I can't find anything specific that explains it. This is in PHP 5.2.6. Here is the sequence I am trying to implement without the database portion. (This is typed in since the VNC I am using doesn't support pasting from a Linux client to a MS-Windows server.) - $buff = key1|value1~key2|value2; $lines = explode (~, $buff); foreach ($lines as $kvpair) { $line = explode (|, $kvpair); if ($line[0] == key1) { $line[1] = value3; $kvpair = implode (|, $line); break; } } $newbuff = implode (~, $lines); - $kvpair is modified, but that change is ignored by implode() with $newbuff still containing key1|value1. So why doesn't the change to $kvpair get brought in by implode? What should I do to update that value? Bob McConnell See the second note at http://www.php.net/manual/en/control-structures.foreach.php Either of these should do what you want: ?php $buff = key1|value1~key2|value2; $lines = explode (~, $buff); foreach ($lines as $kvpair) { $line = explode (|, $kvpair); if ($line[0] == key1) { $line[1] = value3; $kvpair = implode (|, $line); break; } } $newbuff = implode (~, $lines); ? ?php $buff = key1|value1~key2|value2; $lines = explode (~, $buff); foreach ($lines as $key = $kvpair) { $line = explode (|, $kvpair); if ($line[0] == key1) { $line[1] = value3; $lines[$key] = implode (|, $line); break; } } $newbuff = implode (~, $lines); ? Andrew -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Explode-update-implode not working
Doh! I knew it would be something simple that I had overlooked. I recall reading that note last week and telling myself I would need to remember it. But that was then ... Thank you, the code is working better now. I just wish I were. Bob McConnell -Original Message- From: Andrew Ballard [mailto:aball...@gmail.com] Sent: Tuesday, June 23, 2009 12:25 PM To: Bob McConnell Cc: php-general@lists.php.net Subject: Re: [PHP] Explode-update-implode not working On Tue, Jun 23, 2009 at 12:11 PM, Bob McConnellr...@cbord.com wrote: At least not the way I expected it to. Apparently I am doing something wrong, but I can't find anything specific that explains it. This is in PHP 5.2.6. Here is the sequence I am trying to implement without the database portion. (This is typed in since the VNC I am using doesn't support pasting from a Linux client to a MS-Windows server.) - $buff = key1|value1~key2|value2; $lines = explode (~, $buff); foreach ($lines as $kvpair) { $line = explode (|, $kvpair); if ($line[0] == key1) { $line[1] = value3; $kvpair = implode (|, $line); break; } } $newbuff = implode (~, $lines); - $kvpair is modified, but that change is ignored by implode() with $newbuff still containing key1|value1. So why doesn't the change to $kvpair get brought in by implode? What should I do to update that value? Bob McConnell See the second note at http://www.php.net/manual/en/control-structures.foreach.php Either of these should do what you want: ?php $buff = key1|value1~key2|value2; $lines = explode (~, $buff); foreach ($lines as $kvpair) { $line = explode (|, $kvpair); if ($line[0] == key1) { $line[1] = value3; $kvpair = implode (|, $line); break; } } $newbuff = implode (~, $lines); ? ?php $buff = key1|value1~key2|value2; $lines = explode (~, $buff); foreach ($lines as $key = $kvpair) { $line = explode (|, $kvpair); if ($line[0] == key1) { $line[1] = value3; $lines[$key] = implode (|, $line); break; } } $newbuff = implode (~, $lines); ? Andrew -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode string at new line
Jim Lucas wrote: Chris wrote: Davi wrote: Em Terça 05 Junho 2007 23:52, [EMAIL PROTECTED] escreveu: That's exactly correct. Except I /think/ you should use \n instead of '\n'. Thank you for the reply... =) I'll check this... BTW: array explode ( string $delimiter, string $string [, int $limit] ) So, I was wrong... The right way, probaly, is: $str=explode(\n,$_POST[my_text]); If it's coming from a textarea you'll want to use \r\n because a textarea uses both a carriage return (\r) and newline (\n) to separate. Otherwise each element of the array will have a \r on the end which may end up causing you some issues later on. I was wondering about this, I seem to recall that window/mac/*nix all do it differently. With a little Google'ing I came across this. http://www.sitepoint.com/forums/printthread.php?t=54074 This was written in 2002, so I am not sure about the Mac = \r. Since they are using *nix now, it could be \n not sure But the article had this to say: Line breaks People want to know how they can retain textarea line breaks in HTML. You should store text in the database in its original format (e.g. with just newlines) and then use nl2br() to convert newlines to HTML br / tags on display (thanks to the people here for teaching me that :)). That's all good, except for one problem with nl2br(): it doesn't seem to convert \r newlines (edit: this has now been fixed in PHP 4.2.0). Windows uses \r\n newlines; *nix uses \n; Mac uses \r. nl2br() works correctly on text from Windows/*nix because they contain \n. However, if you get text from a Mac, nl2br() will not convert its newlines (again, fixed in PHP 4.2.0). To remedy this, I use the following bit of code to convert \r\n or \r to \n before inserting it into the database. It won't hurt anything and ensures that nl2br() will work on the \n only newlines on display. Also, it has the side effect of saving 1 byte in the database per newline from Windows (by storing only \n instead of \r\n). :) PHP Code: $txt = preg_replace('/\r\n|\r/', \n, $txt); Fair enough :) I guess my thinking was since a textarea is a html 'standard' it would be consistent across all browsers/systems. I guess not :) -- Postgresql php tutorials http://www.designmagick.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode string at new line
At 6/5/2007 10:50 PM, Jim Lucas wrote: Windows uses \r\n newlines; *nix uses \n; Mac uses \r. ... PHP Code: $txt = preg_replace('/\r\n|\r/', \n, $txt); Another way to write that PCRE pattern is /\r\n?/ (one carriage return followed by zero or one linefeed). I recall also running into \n\r although I can't recall which system uses it. As an alternative to PCRE, we can pass arrays to PHP's replace functions, e.g.: $txt = str_replace(array(\r\n, \n\r, \r), \n, $txt); Regards, Paul __ Paul Novitski Juniper Webcraft Ltd. http://juniperwebcraft.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode string at new line
Em Quarta 06 Junho 2007 02:50, Jim Lucas escreveu: Chris wrote: Davi wrote: Em Terça 05 Junho 2007 23:52, [EMAIL PROTECTED] escreveu: That's exactly correct. Except I /think/ you should use \n instead of '\n'. array explode ( string $delimiter, string $string [, int $limit] ) So, I was wrong... The right way, probaly, is: $str=explode(\n,$_POST[my_text]); If it's coming from a textarea you'll want to use \r\n because a textarea uses both a carriage return (\r) and newline (\n) to separate. Otherwise each element of the array will have a \r on the end which may end up causing you some issues later on. I was wondering about this, I seem to recall that window/mac/*nix all do it differently. http://www.sitepoint.com/forums/printthread.php?t=54074 Line breaks People want to know how they can retain textarea line breaks in HTML. You should store text in the database in its original format (e.g. with just newlines) and then use nl2br() to convert newlines to HTML br / tags on display (thanks to the people here for teaching me that :)). That's all good, except for one problem with nl2br(): it doesn't seem to convert \r newlines (edit: this has now been fixed in PHP 4.2.0). PHP Code: $txt = preg_replace('/\r\n|\r/', \n, $txt); Helped... =) But... Why does it happen: [code] $object=mysql_fetch_object($result); $texto = $object-texto; $texto=preg_replace(/\r|\n/,,stripslashes($texto)); echo $texto; [/code] [output] Teste \r\nde formatação! \r\nTudo funcionando... \r\n [/output] I'm using stripslashse 'cause I'm getting the values from a DB. Any kind of tip? TIA -- Davi Vidal [EMAIL PROTECTED] [EMAIL PROTECTED] -- Religion, ideology, resources, land, spite, love or just because... No matter how pathetic the reason, it's enough to start a war. Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line. pgpXKjnY1odxa.pgp Description: PGP signature
Re: [PHP] explode string at new line
Em Quarta 06 Junho 2007 10:54, Davi escreveu: But... Why does it happen: [code] $object=mysql_fetch_object($result); $texto = $object-texto; $texto=preg_replace(/\r|\n/,,stripslashes($texto)); echo $texto; [/code] [output] Teste \r\nde formatação! \r\nTudo funcionando... \r\n [/output] I'm using stripslashse 'cause I'm getting the values from a DB. Any kind of tip? TIA If I do: [code] echo \r\nJust testing... \r\n again...; [/code] The output is: [output] Just testing... again... [/output] And the source code (in browser) is: [output] Just testing... again... [/output] Am I missing anything? TIA -- Davi Vidal [EMAIL PROTECTED] [EMAIL PROTECTED] -- Religion, ideology, resources, land, spite, love or just because... No matter how pathetic the reason, it's enough to start a war. Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line. pgpCbBEc0rmeF.pgp Description: PGP signature
Re: [PHP] explode string at new line
Davi wrote: Em Quarta 06 Junho 2007 10:54, Davi escreveu: But... Why does it happen: [code] $object=mysql_fetch_object($result); $texto = $object-texto; $texto=preg_replace(/\r|\n/,,stripslashes($texto)); echo $texto; [/code] [output] Teste \r\nde formatação! \r\nTudo funcionando... \r\n [/output] I'm using stripslashse 'cause I'm getting the values from a DB. Any kind of tip? TIA If I do: [code] echo \r\nJust testing... \r\n again...; [/code] The output is: how and where are you outputting this to? [output] Just testing... again... [/output] And the source code (in browser) is: What OS? [output] Just testing... again... [/output] Am I missing anything? TIA -- Jim Lucas Some men are born to greatness, some achieve greatness, and some have greatness thrust upon them. Twelfth Night, Act II, Scene V by William Shakespeare -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode string at new line
Em Quarta 06 Junho 2007 13:20, Jim Lucas escreveu: Davi wrote: Em Quarta 06 Junho 2007 10:54, Davi escreveu: But... Why does it happen: [code] $object=mysql_fetch_object($result); $texto = $object-texto; $texto=preg_replace(/\r|\n/,,stripslashes($texto)); echo $texto; [/code] [output] Teste \r\nde formatação! \r\nTudo funcionando... \r\n [/output] I'm using stripslashse 'cause I'm getting the values from a DB. If I do: [code] echo \r\nJust testing... \r\n again...; [/code] The output is: how and where are you outputting this to? How: echo Where: Firefox 2.0.0.3 [output] Just testing... again... [/output] And the source code (in browser) is: What OS? SuSE 9.3 (Server) Gentoo Linux 1.12.9 [2007.0] (Desktop/Development) [output] Just testing... again... [/output] -- Davi Vidal [EMAIL PROTECTED] [EMAIL PROTECTED] -- Religion, ideology, resources, land, spite, love or just because... No matter how pathetic the reason, it's enough to start a war. Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line. pgpKvupfZO86S.pgp Description: PGP signature
[PHP] explode string at new line
Hi all. I've the fowlling string: $_POST[my_text]=hi...\nthis is my multi-line\ntext; Can I use explode to have something like: $str[0]=hi...; $str[1]=this is my multi-line; $str[2]=text; $str=explode($_POST[my_text],'\n'); TIA and sorry the *very* poor english. -- Davi Vidal [EMAIL PROTECTED] [EMAIL PROTECTED] -- Religion, ideology, resources, land, spite, love or just because... No matter how pathetic the reason, it's enough to start a war. Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line. pgpwspUVrKaj0.pgp Description: PGP signature
Re: [PHP] explode string at new line
That's exactly correct. Except I /think/ you should use \n instead of '\n'. On 6/5/07, Davi [EMAIL PROTECTED] wrote: Hi all. I've the fowlling string: $_POST[my_text]=hi...\nthis is my multi-line\ntext; Can I use explode to have something like: $str[0]=hi...; $str[1]=this is my multi-line; $str[2]=text; $str=explode($_POST[my_text],'\n'); TIA and sorry the *very* poor english. -- Davi Vidal [EMAIL PROTECTED] [EMAIL PROTECTED] -- Religion, ideology, resources, land, spite, love or just because... No matter how pathetic the reason, it's enough to start a war. Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode string at new line
Em Terça 05 Junho 2007 23:52, [EMAIL PROTECTED] escreveu: That's exactly correct. Except I /think/ you should use \n instead of '\n'. Thank you for the reply... =) I'll check this... BTW: array explode ( string $delimiter, string $string [, int $limit] ) So, I was wrong... The right way, probaly, is: $str=explode(\n,$_POST[my_text]); Thank you very much. -- Davi Vidal [EMAIL PROTECTED] [EMAIL PROTECTED] -- Religion, ideology, resources, land, spite, love or just because... No matter how pathetic the reason, it's enough to start a war. Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line. pgpS3oEAG6jIw.pgp Description: PGP signature
Re: [PHP] explode string at new line
Davi wrote: Em Terça 05 Junho 2007 23:52, [EMAIL PROTECTED] escreveu: That's exactly correct. Except I /think/ you should use \n instead of '\n'. Thank you for the reply... =) I'll check this... BTW: array explode ( string $delimiter, string $string [, int $limit] ) So, I was wrong... The right way, probaly, is: $str=explode(\n,$_POST[my_text]); If it's coming from a textarea you'll want to use \r\n because a textarea uses both a carriage return (\r) and newline (\n) to separate. Otherwise each element of the array will have a \r on the end which may end up causing you some issues later on. -- Postgresql php tutorials http://www.designmagick.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode string at new line
Em Quarta 06 Junho 2007 00:18, Chris escreveu: Davi wrote: Em Terça 05 Junho 2007 23:52, [EMAIL PROTECTED] escreveu: That's exactly correct. Except I /think/ you should use \n instead of '\n'. So, I was wrong... The right way, probaly, is: $str=explode(\n,$_POST[my_text]); If it's coming from a textarea you'll want to use \r\n because a textarea uses both a carriage return (\r) and newline (\n) to separate. Otherwise each element of the array will have a \r on the end which may end up causing you some issues later on. Yes. Is a textarea. Thank you very much! =D -- Davi Vidal [EMAIL PROTECTED] [EMAIL PROTECTED] -- Religion, ideology, resources, land, spite, love or just because... No matter how pathetic the reason, it's enough to start a war. Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line. pgpctEzLbMQgx.pgp Description: PGP signature
Re: [PHP] explode string at new line
Chris wrote: Davi wrote: Em Terça 05 Junho 2007 23:52, [EMAIL PROTECTED] escreveu: That's exactly correct. Except I /think/ you should use \n instead of '\n'. Thank you for the reply... =) I'll check this... BTW: array explode ( string $delimiter, string $string [, int $limit] ) So, I was wrong... The right way, probaly, is: $str=explode(\n,$_POST[my_text]); If it's coming from a textarea you'll want to use \r\n because a textarea uses both a carriage return (\r) and newline (\n) to separate. Otherwise each element of the array will have a \r on the end which may end up causing you some issues later on. I was wondering about this, I seem to recall that window/mac/*nix all do it differently. With a little Google'ing I came across this. http://www.sitepoint.com/forums/printthread.php?t=54074 This was written in 2002, so I am not sure about the Mac = \r. Since they are using *nix now, it could be \n not sure But the article had this to say: Line breaks People want to know how they can retain textarea line breaks in HTML. You should store text in the database in its original format (e.g. with just newlines) and then use nl2br() to convert newlines to HTML br / tags on display (thanks to the people here for teaching me that :)). That's all good, except for one problem with nl2br(): it doesn't seem to convert \r newlines (edit: this has now been fixed in PHP 4.2.0). Windows uses \r\n newlines; *nix uses \n; Mac uses \r. nl2br() works correctly on text from Windows/*nix because they contain \n. However, if you get text from a Mac, nl2br() will not convert its newlines (again, fixed in PHP 4.2.0). To remedy this, I use the following bit of code to convert \r\n or \r to \n before inserting it into the database. It won't hurt anything and ensures that nl2br() will work on the \n only newlines on display. Also, it has the side effect of saving 1 byte in the database per newline from Windows (by storing only \n instead of \r\n). :) PHP Code: $txt = preg_replace('/\r\n|\r/', \n, $txt); Hope this helps -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode in mysql query
i have a mysql column that looks like this: groups --- 12,7,10,6,14,11,2 is it possible to select the row if `groups` contain 7 or 14? trying to avoid running two queries and running explode() on it. i don't remember but i thought there was a way to use explode() on something like this within a single query. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode in mysql query
2007. 04. 27, péntek keltezéssel 02.33-kor Sebe ezt írta: i have a mysql column that looks like this: groups --- 12,7,10,6,14,11,2 is it possible to select the row if `groups` contain 7 or 14? you'd better put the groups info in a separate table, referenced by this table. then you can simply SELECT t1.* FROM whatever t1, groups t2 WHERE t1.id=t2.whatever_id AND (t2.group=7 OR t2.group=14); greets Zoltán Németh trying to avoid running two queries and running explode() on it. i don't remember but i thought there was a way to use explode() on something like this within a single query. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode in mysql query
At 4/26/2007 11:33 PM, Sebe wrote: i have a mysql column that looks like this: groups --- 12,7,10,6,14,11,2 is it possible to select the row if `groups` contain 7 or 14? trying to avoid running two queries and running explode() on it. I would think a more efficient strategy would be a simple string search. If you append a comma to the beginning and the end of your list so it becomes: ,12,7,10,6,14,11,2, then you can search for: ,#, where # is the desired integer. Therefore you could use the MySQL syntax: WHERE CONCAT(',', `groups`, ',') LIKE '%,7,%' OR CONCAT(',', `groups`, ',') LIKE '%,14,%' Regards, Paul __ Paul Novitski Juniper Webcraft Ltd. http://juniperwebcraft.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode in mysql query
Paul Novitski wrote: At 4/26/2007 11:33 PM, Sebe wrote: i have a mysql column that looks like this: groups --- 12,7,10,6,14,11,2 is it possible to select the row if `groups` contain 7 or 14? trying to avoid running two queries and running explode() on it. I would think a more efficient strategy would be a simple string search. If you append a comma to the beginning and the end of your list so it becomes: ,12,7,10,6,14,11,2, then you can search for: ,#, where # is the desired integer. Therefore you could use the MySQL syntax: WHERE CONCAT(',', `groups`, ',') LIKE '%,7,%' OR CONCAT(',', `groups`, ',') LIKE '%,14,%' Regards, Paul thanks for the idea.. i also just came up with a solution using mysql FIND_IN_SET eg: FIND_IN_SET('7', groups) OR FIND_IN_SET('14', groups) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] explode in mysql query
-Original Message- From: Paul Novitski [mailto:[EMAIL PROTECTED] Sent: Friday, April 27, 2007 3:01 AM To: php-general@lists.php.net Subject: Re: [PHP] explode in mysql query At 4/26/2007 11:33 PM, Sebe wrote: i have a mysql column that looks like this: groups --- 12,7,10,6,14,11,2 You should never have tables that look like this. If this is early in the application development, look into 3rd normal form for SQL tables (don't worry about 4th or 5th). In a nutshell, here is what you should be doing: you have a many to many relationship (big thing to note). Whatever holds groups (lets call it foo) to groups. So you should do something like this: === Foo --A table === Id -- columns groups Coln === Groups === Id Col1 Col2 Col3 So then you create a 3rd table named === Foo_has_groups (or groups_has_foo, whichever sounds best) === Fooid groupsid So then, you can do much more powerful queries, with much less overhead. Such as: SELECT t1.* FROM foo t1, groups t2 WHERE t1.id=t2.whatever_id AND (t2.group=7 OR t2.group=14); If you are reluctant to do any of these optimizations to your database, then you better not worry about anywhere in your PHP code to do _ANY_ optimizations. This will be your system bottleneck! 99% of the time (maybe less) when you get a slow application, your bottlenecks will be in your sql queries/design. Hopefully that all made sense -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode in mysql query
On Fri, April 27, 2007 1:33 am, Sebe wrote: i have a mysql column that looks like this: groups --- 12,7,10,6,14,11,2 is it possible to select the row if `groups` contain 7 or 14? trying to avoid running two queries and running explode() on it. i don't remember but i thought there was a way to use explode() on something like this within a single query. It's a MySQL question, but I suspect that the REGEXP operator in MySQL would let you find these with something like: groups REGEXP '\\b7\\b' or groups REGEXP '\\b14\\b' The \\b being a word boundary, if I remember correctly... -- Some people have a gift link here. Know what I want? I want you to buy a CD from some indie artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode a string
Richard Lynch wrote: On Tue, April 19, 2005 7:03 am, Jochem Maas said: The 'other' guy mentioned that while() is faster than foreach, is this true? Don't know ; Don't care. You should never loop through so many things in PHP that it matters in the first place :-) I read a few days ago somewhere on php.net that foreach() is the recommended (by php devs) way of iterating over arrays [shrug] That's probably because they're tired of people not understanding the internal pointer array, and asking FAQs about it. Or maybe not. Ask them why they prefer it. I sure don't know. also, compare these 2 lines: while (list(, $idcat) = each($idcats)){ /* ... */ } foreach ($idcats as $idcat){ /* ... */ } now its seems to me that the foreach version is 'up' 2 function calls None of those are function calls. They are all language constructs. Okay, each() *might* be a function... I'm not sure how much difference there is in the number of language constructs used, nor if they are even comparable in sheer numbers the way functions are. ah yes, lang constructs rather than function calls. foreach is probably slower, I think, because it creates a *copy* of the array to work on, so it won't mess up the original and its internal pointer. unless I'm mistaken its a copy-on-change, so unless you are changing the the array inside the loop you don't suffer the actuall copy penalty - can anyone knowledgable on php internals confirm or deny this? actually now I think of it you can use references in a foreach statement: php -r ' $arr = array(1,2,3); foreach($arr as $k = $v) { $v++; } var_dump($arr); ' which suggests that a copy is not (always?) being made... Again, with 200 bytes, you are wasting your time to worry about any of this. true, It's purely a theoretical interest - deeper understanding is alway nice :-) ...its not even my 200 bytes we're talking about ;-) on the while loop, all else being equal the foreach loop has to be faster (given that calling functions is relatively very expensive)... or is foreach() _really_ heavy when compared to while()? Why don't you just benchmark it on your own machine and find out? because I don't have the skills to write a test/benchmark that I _know_ is kosher (and not skewed by a million of my misconceptions, besides I run so much stuff on my machine that speed can be severely affected by things like apache or firebird running in the background that and I lazy ;-) (or I just don't care enough to invest time investigating this) not that I care too much, I find foreach() more pleasing to the eye and there is less to type (in the given example). I'm an old dog, and I don't quite understand for sure how this new-fangled foreach thingie works. I'd spend more time looking it up and reading about it than just typing what I *know* works. [shrug] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode a string
Sorry jocham, for you getting this twice. I'd assume foreach is recommended because it lends to more readable code. More readable code, is generally considered better code. Personally I'd disagree and use while( list() = each() ), because it doesn't create a copy of the array in memory, especially for the array. If you're dealing with an array where the elements are large, or multi-dimentional, you may want to consider a different approach, such as assigning by reference, like: for($keys = array_keys($sample_array); $key = each($keys), $val = $sample_array[$key]; ) but that is very ugly untested code(and I'm drunk), so I wouldn't recommend you copy n paste it. besides for the sake of 200 bytes, with an average of around 5 characters per word, it pretty much doesn't matter, which you use. Even something as crappy as ASP would easly deal with 200b. On 4/20/05, Jochem Maas [EMAIL PROTECTED] wrote: Richard Lynch wrote: On Tue, April 19, 2005 7:03 am, Jochem Maas said: The 'other' guy mentioned that while() is faster than foreach, is this true? Don't know ; Don't care. You should never loop through so many things in PHP that it matters in the first place :-) I read a few days ago somewhere on php.net that foreach() is the recommended (by php devs) way of iterating over arrays [shrug] That's probably because they're tired of people not understanding the internal pointer array, and asking FAQs about it. Or maybe not. Ask them why they prefer it. I sure don't know. also, compare these 2 lines: while (list(, $idcat) = each($idcats)){ /* ... */ } foreach ($idcats as $idcat){ /* ... */ } now its seems to me that the foreach version is 'up' 2 function calls None of those are function calls. They are all language constructs. Okay, each() *might* be a function... I'm not sure how much difference there is in the number of language constructs used, nor if they are even comparable in sheer numbers the way functions are. ah yes, lang constructs rather than function calls. foreach is probably slower, I think, because it creates a *copy* of the array to work on, so it won't mess up the original and its internal pointer. unless I'm mistaken its a copy-on-change, so unless you are changing the the array inside the loop you don't suffer the actuall copy penalty - can anyone knowledgable on php internals confirm or deny this? actually now I think of it you can use references in a foreach statement: php -r ' $arr = array(1,2,3); foreach($arr as $k = $v) { $v++; } var_dump($arr); ' which suggests that a copy is not (always?) being made... Again, with 200 bytes, you are wasting your time to worry about any of this. true, It's purely a theoretical interest - deeper understanding is alway nice :-) ...its not even my 200 bytes we're talking about ;-) on the while loop, all else being equal the foreach loop has to be faster (given that calling functions is relatively very expensive)... or is foreach() _really_ heavy when compared to while()? Why don't you just benchmark it on your own machine and find out? because I don't have the skills to write a test/benchmark that I _know_ is kosher (and not skewed by a million of my misconceptions, besides I run so much stuff on my machine that speed can be severely affected by things like apache or firebird running in the background that and I lazy ;-) (or I just don't care enough to invest time investigating this) not that I care too much, I find foreach() more pleasing to the eye and there is less to type (in the given example). I'm an old dog, and I don't quite understand for sure how this new-fangled foreach thingie works. I'd spend more time looking it up and reading about it than just typing what I *know* works. [shrug] -- 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
Re: [PHP] explode a string
explode by , $output1 = explode(,,$string); use a loop and explode array $output1 by : Hope this helps. Saswat On 4/18/05, Sebastian [EMAIL PROTECTED] wrote: $string = '4:gaming,5:hardware,3:software,8:security'; what is the best way to explode then loop this string after its taken apart. output should be something like: $id = 4 $cat = gaming etc.. im just looking for the best/fastest way to do this. the string can grow to 200 or so bytes, maybe more. should i list(), while(), explode it, or should i explode it and foreach it? or..? thanks. -- 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
Re: [PHP] explode a string
Richard Lynch wrote: On Mon, April 18, 2005 4:34 am, Sebastian said: $string = '4:gaming,5:hardware,3:software,8:security'; $idcats = explode(',', $string); while (list(, $idcat) = each($idcats)){ list($id, $cat) = explode(':', $idcat); echo \$id = $idbr /\n; echo \$cat = $catbr /\n; } The 'other' guy mentioned that while() is faster than foreach, is this true? I read a few days ago somewhere on php.net that foreach() is the recommended (by php devs) way of iterating over arrays also, compare these 2 lines: while (list(, $idcat) = each($idcats)){ /* ... */ } foreach ($idcats as $idcat){ /* ... */ } now its seems to me that the foreach version is 'up' 2 function calls on the while loop, all else being equal the foreach loop has to be faster (given that calling functions is relatively very expensive)... or is foreach() _really_ heavy when compared to while()? not that I care too much, I find foreach() more pleasing to the eye and there is less to type (in the given example). :-) rgds, Jochem what is the best way to explode then loop this string after its taken apart. output should be something like: $id = 4 $cat = gaming etc.. im just looking for the best/fastest way to do this. the string can grow to 200 or so bytes, maybe more. 200 bytes is chump-change. It really doesn't matter how you do this, within reason. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode a string
On Tuesday 19 April 2005 17:03, Jochem Maas wrote: Richard Lynch wrote: On Mon, April 18, 2005 4:34 am, Sebastian said: $string = '4:gaming,5:hardware,3:software,8:security'; $idcats = explode(',', $string); while (list(, $idcat) = each($idcats)){ list($id, $cat) = explode(':', $idcat); echo \$id = $idbr /\n; echo \$cat = $catbr /\n; } The 'other' guy mentioned that while() is faster than foreach, is this true? http://www.sitepoint.com/article/php5-standard-library Note that the crude benchmarks I've performed suggest that calling the methods directly is faster than using foreach, because the latter introduces another layer of redirection that must be resolved at runtime by PHP. I read a few days ago somewhere on php.net that foreach() is the recommended (by php devs) way of iterating over arrays also, compare these 2 lines: while (list(, $idcat) = each($idcats)){ /* ... */ } foreach ($idcats as $idcat){ /* ... */ } now its seems to me that the foreach version is 'up' 2 function calls on the while loop, all else being equal the foreach loop has to be faster (given that calling functions is relatively very expensive)... or is foreach() _really_ heavy when compared to while()? not that I care too much, I find foreach() more pleasing to the eye and there is less to type (in the given example). :-) rgds, Jochem what is the best way to explode then loop this string after its taken apart. output should be something like: $id = 4 $cat = gaming etc.. im just looking for the best/fastest way to do this. the string can grow to 200 or so bytes, maybe more. 200 bytes is chump-change. It really doesn't matter how you do this, within reason. -- Cyberly yours, Petar Nedyalkov Devoted Orbitel Fan :-) PGP ID: 7AE45436 PGP Public Key: http://bu.orbitel.bg/pgp/bu.asc PGP Fingerprint: 7923 8D52 B145 02E8 6F63 8BDA 2D3F 7C0B 7AE4 5436 pgpFE7VCEyn7m.pgp Description: PGP signature
Re: [PHP] explode a string
Petar Nedyalkov wrote: On Tuesday 19 April 2005 17:03, Jochem Maas wrote: Richard Lynch wrote: On Mon, April 18, 2005 4:34 am, Sebastian said: $string = '4:gaming,5:hardware,3:software,8:security'; $idcats = explode(',', $string); while (list(, $idcat) = each($idcats)){ list($id, $cat) = explode(':', $idcat); echo \$id = $idbr /\n; echo \$cat = $catbr /\n; } The 'other' guy mentioned that while() is faster than foreach, is this true? sorry to call you the 'other' guy, Petar - I was being lazy. http://www.sitepoint.com/article/php5-standard-library Note that the crude benchmarks I've performed suggest that calling the methods directly is faster than using foreach, because the latter introduces another layer of redirection that must be resolved at runtime by PHP. are we talking about iterating over an Iterator or an array()? Harry Fuecks is talking about iterating over a php5 object..., your question/example features a straight array. I read a few days ago somewhere on php.net that foreach() is the recommended (by php devs) way of iterating over arrays also, compare these 2 lines: while (list(, $idcat) = each($idcats)){ /* ... */ } foreach ($idcats as $idcat){ /* ... */ } now its seems to me that the foreach version is 'up' 2 function calls on the while loop, all else being equal the foreach loop has to be faster (given that calling functions is relatively very expensive)... or is foreach() _really_ heavy when compared to while()? not that I care too much, I find foreach() more pleasing to the eye and there is less to type (in the given example). :-) rgds, Jochem what is the best way to explode then loop this string after its taken apart. output should be something like: $id = 4 $cat = gaming etc.. im just looking for the best/fastest way to do this. the string can grow to 200 or so bytes, maybe more. 200 bytes is chump-change. It really doesn't matter how you do this, within reason. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode a string
On Tue, April 19, 2005 7:03 am, Jochem Maas said: The 'other' guy mentioned that while() is faster than foreach, is this true? Don't know ; Don't care. You should never loop through so many things in PHP that it matters in the first place :-) I read a few days ago somewhere on php.net that foreach() is the recommended (by php devs) way of iterating over arrays [shrug] That's probably because they're tired of people not understanding the internal pointer array, and asking FAQs about it. Or maybe not. Ask them why they prefer it. I sure don't know. also, compare these 2 lines: while (list(, $idcat) = each($idcats)){ /* ... */ } foreach ($idcats as $idcat){ /* ... */ } now its seems to me that the foreach version is 'up' 2 function calls None of those are function calls. They are all language constructs. Okay, each() *might* be a function... I'm not sure how much difference there is in the number of language constructs used, nor if they are even comparable in sheer numbers the way functions are. foreach is probably slower, I think, because it creates a *copy* of the array to work on, so it won't mess up the original and its internal pointer. Again, with 200 bytes, you are wasting your time to worry about any of this. on the while loop, all else being equal the foreach loop has to be faster (given that calling functions is relatively very expensive)... or is foreach() _really_ heavy when compared to while()? Why don't you just benchmark it on your own machine and find out? not that I care too much, I find foreach() more pleasing to the eye and there is less to type (in the given example). I'm an old dog, and I don't quite understand for sure how this new-fangled foreach thingie works. I'd spend more time looking it up and reading about it than just typing what I *know* works. [shrug] -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode a string
$string = '4:gaming,5:hardware,3:software,8:security'; what is the best way to explode then loop this string after its taken apart. output should be something like: $id = 4 $cat = gaming etc.. im just looking for the best/fastest way to do this. the string can grow to 200 or so bytes, maybe more. should i list(), while(), explode it, or should i explode it and foreach it? or..? thanks. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode a string
On Monday 18 April 2005 14:34, Sebastian wrote: $string = '4:gaming,5:hardware,3:software,8:security'; what is the best way to explode then loop this string after its taken apart. output should be something like: $id = 4 $cat = gaming etc.. im just looking for the best/fastest way to do this. the string can grow to 200 or so bytes, maybe more. should i list(), while(), explode it, or should i explode it and foreach it? or..? while is faster than foreach. check the iterator section in SPL for details. thanks. -- Cyberly yours, Petar Nedyalkov Devoted Orbitel Fan :-) PGP ID: 7AE45436 PGP Public Key: http://bu.orbitel.bg/pgp/bu.asc PGP Fingerprint: 7923 8D52 B145 02E8 6F63 8BDA 2D3F 7C0B 7AE4 5436 pgpa0VNdMvmfC.pgp Description: PGP signature
Re: [PHP] explode a string
On Mon, April 18, 2005 4:34 am, Sebastian said: $string = '4:gaming,5:hardware,3:software,8:security'; $idcats = explode(',', $string); while (list(, $idcat) = each($idcats)){ list($id, $cat) = explode(':', $idcat); echo \$id = $idbr /\n; echo \$cat = $catbr /\n; } what is the best way to explode then loop this string after its taken apart. output should be something like: $id = 4 $cat = gaming etc.. im just looking for the best/fastest way to do this. the string can grow to 200 or so bytes, maybe more. 200 bytes is chump-change. It really doesn't matter how you do this, within reason. -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode and PATH_SEPARATOR
Taking this code: pre ?php define (PATH_SEPARATOR, /); $String=Root/One/Two/Three/Last; $arr = explode ( PATH_SEPARATOR, $String ); var_dump ( $arr ); $arr = explode ( /, $String ); var_dump ( $arr ); ? /pre It works fine in second case returing a five elements array, but in the first one it returns an array with just one elemen that's the source string itself. I've test it also changing PATH_SEPARATOR by SEPARATOR in both cases, and it works nice... Is PATH_SEPARATOR any kind of reserved word or so? Thx. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] explode and PATH_SEPARATOR
This constant is part of the directory functions. See: http://www.php.net/manual/en/ref.dir.php Araceli. -Original Message- From: Francisco M. Marzoa Alonso [mailto:[EMAIL PROTECTED] Sent: Monday, November 15, 2004 5:18 PM To: PHP-General Subject: [PHP] explode and PATH_SEPARATOR Taking this code: pre ?php define (PATH_SEPARATOR, /); $String=Root/One/Two/Three/Last; $arr = explode ( PATH_SEPARATOR, $String ); var_dump ( $arr ); $arr = explode ( /, $String ); var_dump ( $arr ); ? /pre It works fine in second case returing a five elements array, but in the first one it returns an array with just one elemen that's the source string itself. I've test it also changing PATH_SEPARATOR by SEPARATOR in both cases, and it works nice... Is PATH_SEPARATOR any kind of reserved word or so? Thx. -- 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
Re: [PHP] explode and PATH_SEPARATOR
On Nov 15, 2004, at 10:17 AM, Francisco M. Marzoa Alonso wrote: Taking this code: pre ?php define (PATH_SEPARATOR, /); $String=Root/One/Two/Three/Last; $arr = explode ( PATH_SEPARATOR, $String ); var_dump ( $arr ); $arr = explode ( /, $String ); var_dump ( $arr ); ? /pre PATH_SEPARATOR is is a predefined constant, so you'll need to use something else, but you still need to put quotes around it: define('NOT_PATH_SEPARATOR', '/'); -ryan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Explode, Arrays and Checkboxes
I'm not new to PHP, but I have very little experience with arrays. I have comma separated values in a database, that I need to pull out, explode into an array, then check certain checkboxes if they exist. I have two variables: $x = 2,10,34 $y = 28,15,16 I need to explode them both, so that the values of $x are they keys, and the values of $y are the values. Is that possible? I have a form, with checkboxes that are named $product[1] through [40]. Next to them are textboxes labeled $price[1] through [40]. How would make the form, when it loads, have $product[2], [10], [34] checked, with $price[2], [10], and [34] equal to 28, 15, and 16 respecively. Any help would be greatly appreciated. -- Matt Winslow [EMAIL PROTECTED]
Re: [PHP] Explode, Arrays and Checkboxes
HI, --- Matt Winslow [EMAIL PROTECTED] wrote: I'm not new to PHP, but I have very little experience with arrays. I have comma separated values in a database, that I need to pull out, explode into an array, then check certain checkboxes if they exist. I have two variables: $x = 2,10,34 $y = 28,15,16 I need to explode them both, so that the values of $x are they keys, and the values of $y are the values. Is that possible? yes see array_combine function http://www.php.net/array_combine I have a form, with checkboxes that are named $product[1] through [40]. Next to them are textboxes labeled $price[1] through [40]. How would make the form, when it loads, have $product[2], [10], [34] checked, with $price[2], [10], and [34] equal to 28, 15, and 16 respecively. a sensible use of foreach and if can easily do so. zareef ahmed = Homepage :: http://www.zasaifi.com ___ Do you Yahoo!? Win 1 of 4,000 free domain names from Yahoo! Enter now. http://promotions.yahoo.com/goldrush -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Explode, Arrays and Checkboxes
* Thus wrote Matt Winslow: I'm not new to PHP, but I have very little experience with arrays. I have comma separated values in a database, that I need to pull out, explode into an array, then check certain checkboxes if they exist. I have two variables: $x = 2,10,34 $y = 28,15,16 I need to explode them both, so that the values of $x are they keys, and the values of $y are the values. Is that possible? $final = array(); $Y = explode(',', $y); foreach(explode(',', $x) as $key = $val ) { $final[$val] = $Y[$key]; } var_dump($final); I have a form, with checkboxes that are named $product[1] through [40]. Next to them are textboxes labeled $price[1] through [40]. How would make the form, when it loads, have $product[2], [10], [34] checked, with $price[2], [10], and [34] equal to 28, 15, and 16 respecively. What is the relationship between the $x,$y and $product,$price? I'm not sure I quite grasp what your trying to do. If I understand correctly, the situation you describe ends up not being a one-one relationship. So a user could select 4 prices with 3 products or vice versa. Which will make things difficult to match up products/prices. Curt -- The above comments may offend you. flame at will. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Explode, Arrays and Checkboxes
* Thus wrote zareef ahmed: HI, I have two variables: $x = 2,10,34 $y = 28,15,16 I need to explode them both, so that the values of $x are they keys, and the values of $y are the values. Is that possible? yes see array_combine function http://www.php.net/array_combine heh.. there are so many array_* functions i forgot about that one. Sometimes that array documentation can be so overwhelming. Curt -- The above comments may offend you. flame at will. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode() an array and grep out a string
Hi all. Is it possible to explode an array and have it exclude a certain string. I currently have an array that is an ldapsearch that returns sub-accounts of a parent account. These accounts are then displayed so customer can either change the passwd or delete them.Thing is ldapsearch returns everymatch which includes the parent account, which is already listed on the page as the parent account. I would like to eliminate the second listing of the parent account where the sub-accounts are listed. This is where the array is collected: $search = ldap_search($connection,dc=isp,dc=com, ispParentAcct=$sessUsername); $entries = ldap_get_entries($connection, $search); $num = $entries[count]; if ($num) { $sessSubAccounts = ; $i = 0; while ($i $num) { $sessSubAccounts .= $entries[$i][uid][0] . |; $i++; } } One thing I would like to point out is that I did not have this problem before, but when I updated to a new version of openldap the following ldapsearch would no longer return the subaccounts: $search = ldap_search($connection,dc=isp,dc=com, homeDirectory=/home/$sessUsername/*); Any idea why that may be? This is where the array is exploded: ? $i = 0; if ($sessSubAccounts) { $accounts = explode(|, $sessSubAccounts); while ($i count($accounts) - 1) ? TIA Bobby R. Cox Linux Systems Administrator Project Mutual Telephone [EMAIL PROTECTED] 208.434.7185 Fix the problem, not the blame. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode() an array and grep out a string
On Sat, 2004-02-07 at 03:09, Bobby R.Cox wrote: Is it possible to explode an array and have it exclude a certain string. I currently have an array that is an ldapsearch that returns sub-accounts of a parent account. These accounts are then displayed so customer can either change the passwd or delete them.Thing is ldapsearch returns everymatch which includes the parent account, which is already listed on the page as the parent account. I would like to eliminate the second listing of the parent account where the sub-accounts are listed. Try this: $parent_account = 'parent_name'; $ldap_results = array('account1','account2','parent_name'); $results = array_diff($ldap_results, array($parent_account)); $results will now have only account1 and account2. -- Adam Bregenzer [EMAIL PROTECTED] http://adam.bregenzer.net/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode separate lines
does anyone know how to do an explode where the separator is a linefeed? -- Diana Castillo -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] explode separate lines
$result = explode(\n, $orignalvalue); Beware, there are several caveats with line feeds. Depending on where the data originated, it could be \r\n or \r. Warren Vail -Original Message- From: Diana Castillo [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 04, 2004 8:50 AM To: [EMAIL PROTECTED] Subject: [PHP] explode separate lines does anyone know how to do an explode where the separator is a linefeed? -- Diana Castillo -- 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
RE: [PHP] explode separate lines
Diana Castillo wrote: does anyone know how to do an explode where the separator is a linefeed? You could try explode(\n, $stuff);, but if you are wanting to read information from a file and store each line in an array, the file() function does exactly that. -- Burhan Khalid phplist[at]meidomus[dot]com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] [ERR] RE: [PHP] explode separate lines
Transmit Report: To: [EMAIL PROTECTED], 402 Local User Inbox Full ([EMAIL PROTECTED]) ---BeginMessage--- Diana Castillo wrote: does anyone know how to do an explode where the separator is a linefeed? You could try explode(\n, $stuff);, but if you are wanting to read information from a file and store each line in an array, the file() function does exactly that. -- Burhan Khalid phplist[at]meidomus[dot]com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php ---End Message---
[PHP] explode()
I am having a user enter a phrase into a textbox, and then I need to seperate the words he has typed into variables so I can use each one in an sql statement. I know I will use the explode() function to do this, but how will I know how many variables I've created. For instance, if a user types in 3 words seperated by spaces, how will I know i'll have var[0] through var[2]? how about when they type in 2 words or 4 words? How will I know how many words they have typed in? The only way I can think of to do this is: // $var is the input after being ran through explode() $i = 0; while ($var[$i]) { $i++; } I will then take the data they enter and create the sql statement: $j = 0; $sql = select subject from subfile where; while ($j = $i) { $j++; $sql .= suject matches '*$var[$j]*'; if ( $j != $i) { $sql .= and ; } } but I think there has to be a better way to do this. any ideas? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] explode()
[snip] I am having a user enter a phrase into a textbox, and then I need to seperate the words he has typed into variables so I can use each one in an sql statement. I know I will use the explode() function to do this, but how will I know how many variables I've created. For instance, if a user types in 3 words seperated by spaces, how will I know i'll have var[0] through var[2]? how about when they type in 2 words or 4 words? How will I know how many words they have typed in? The only way I can think of to do this is: [/snip] Use count() http://www.php.net/count Counts the array ... $arrayFoo = explode( , $theLine); $countFoo = count($arrayFoo); for($i = 0; $i $countFoo; $i++){ echo $arrayFoo[$i]; } -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Explode a string
Any ideas how to do this, I have a string 734088+3+734132+9+734138+80+781007+1+ I need to place the string into a multi-array like so array[0][0] = 734088 array[0][1] = 3 array[1][0] = 734132 array[1][1] = 9 array[2][0] = 734138 array[2][1] = 80 etc... Now ive tried everything i know any ideas? Regards R -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Explode a string
[snip] Any ideas how to do this, I have a string 734088+3+734132+9+734138+80+781007+1+ I need to place the string into a multi-array like so array[0][0] = 734088 array[0][1] = 3 etc... Now ive tried everything i know any ideas? [/snip] start with explode $arrString = explode(+, $stringYouAreWorkingWith); Then loop through it, placing the pairs into two-dimensional array you mention above -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Explode a string
Erin mailto:[EMAIL PROTECTED] on Wednesday, November 12, 2003 9:13 AM said: 734088+3+734132+9+734138+80+781007+1+ I need to place the string into a multi-array like so array[0][0] = 734088 array[0][1] = 3 [snip] Now ive tried everything i know any ideas? Yes. You need to somehow differentiate between the different columns and rows. What I suggest you do is change every other + to something else like a ; and then split on that. Without knowing any other way to do this I would use a regex to skip the first + and change second one, repeating this until the end of the string. Then you can explode() on + and ;. hth, Chris. -- Don't like reformatting your Outlook replies? Now there's relief! http://home.in.tum.de/~jain/software/outlook-quotefix/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Explode a string
Chris W. Parker on Wednesday, November 12, 2003 9:19 AM said: Without knowing any other way to do this I would use a regex to skip the first + and change second one, repeating this until the end of the string. Considering Jay's answer for this question, do I always do things the hard way or what?? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Explode a string
[snip] Considering Jay's answer for this question, do I always do things the hard way or what?? [/snip] Young Grasshopper...there is more than one way to do things, a lot of them are rightsome are just harder than others. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Explode a string
Jay Blanchard wrote: [snip] Considering Jay's answer for this question, do I always do things the hard way or what?? [/snip] Young Grasshopper...there is more than one way to do things, a lot of them are rightsome are just harder than others. Isn't that the diplomatic equivalent of yes, sometimes you tend to do the hard way? hehe -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode () question
Hello All, I'm having trouble with this; $rint1= rtrim($rintydata); echo $rint1; $rint2= explode(:, $rint1); The data starts like this (from and email, there are many) ; Time: November 9th 2003, 10:37AM - PST IP Address: xx.xx.xxx.xxx Browser Type: Opera/7.20 (Windows NT 5.1; U) [en] Referer: The problem is that when I do this ; while( $res=each($rint2) ) { echo br$res[1]br; }; the colon in Time messes things up. here is the result ; Time November 8th 2003, 07 15PM - PST IP Address xx.xx.xx.xxx Browser Type Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Referer when what I really want is ; Time - November 8th 2003, 07:15PM - PST IP - Address xx.xx.xx.xxx Browser Type - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Referer - I can't figure out how to do an ereg that will replace just the colon in Time nor can I find a way to make explode ignore it. This may even be a completely wrong approach, any help would be appreciated. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode () question
$rint1= rtrim($rintydata); echo $rint1; $rint2= explode(:, $rint1); The data starts like this (from and email, there are many) ; Time: November 9th 2003, 10:37AM - PST IP Address: xx.xx.xxx.xxx Browser Type: Opera/7.20 (Windows NT 5.1; U) [en] Referer: The problem is that when I do this ; while( $res=each($rint2) ) { echo br$res[1]br; }; the colon in Time messes things up. here is the result ; Time November 8th 2003, 07 15PM - PST IP Address xx.xx.xx.xxx Browser Type Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Referer when what I really want is ; Time - November 8th 2003, 07:15PM - PST IP - Address xx.xx.xx.xxx Browser Type - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Referer - I can't figure out how to do an ereg that will replace just the colon in Time nor can I find a way to make explode ignore it. This may even be a completely wrong approach, any help would be appreciated. Do you first split the lines? What about a simple strpos and substr? $colon=strpos(':',$res) will get you the position of only the 1st colon. then strpos ($res, 0, $colon-1) will get you the 1st part and strpos ($res, $colon, strlen($res)) the second part. disclaimers: not tested. not guaranteed to be working. just a suggestion. check the manual to fix it. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] explode () question
Malcolm mailto:[EMAIL PROTECTED] on Monday, November 10, 2003 9:13 AM said: I can't figure out how to do an ereg that will replace just the colon in Time nor can I find a way to make explode ignore it. This may even be a completely wrong approach, any help would be appreciated. What you'll probably want to do is write a regex that changes the colon you're trying to separate on into something else. Go from: Time: ... Other Thing: ... Different: ... To: Time% ... Other Thing% ... Different% ... After you've done this you can easily explode() based on the %. I'm not very good with regex's off the top of my head so I suggest you get The Regex Coach (easily found via google) and experiment. Chris. -- Don't like reformatting your Outlook replies? Now there's relief! http://home.in.tum.de/~jain/software/outlook-quotefix/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] explode () question
(after more and more discussion, this will be my first non-top post) $rint1= rtrim($rintydata); echo $rint1; $rint2= explode(:, $rint1); The data starts like this (from and email, there are many) ; Time: November 9th 2003, 10:37AM - PST IP Address: xx.xx.xxx.xxx Browser Type: Opera/7.20 (Windows NT 5.1; U) [en] Referer: The problem is that when I do this ; while( $res=each($rint2) ) { echo br$res[1]br; }; the colon in Time messes things up. here is the result ; Time November 8th 2003, 07 15PM - PST IP Address xx.xx.xx.xxx Browser Type Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Referer when what I really want is ; Time - November 8th 2003, 07:15PM - PST IP - Address xx.xx.xx.xxx Browser Type - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Referer - I'd try something like: 1 ?php 2 $String = 'From: Wouter van Vliet [EMAIL PROTECTED]'; 3 preg_match('/^\s*([^:]*)\s*:\s*(.*)$/', $String, $Matches); 4 5 print_r($Matches); 6 7 ? == OUTPUT: Array ( [0] = From: Wouter van Vliet [EMAIL PROTECTED] [1] = From [2] = Wouter van Vliet [EMAIL PROTECTED] ) From here you'd be able to manipulate the things you want in any format you'd want it to have. Or use preg_match_all() if you have all mail headers in one variable. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode () question
Thanks to everyone who replied. I have taken the short route and changed the source data. I should have thought of that first I suppose. Now I have a few existing records to edit but from now on I'll be automagic. On Mon, 10 Nov 2003 19:00:52 +0100, Wouter Van Vliet [EMAIL PROTECTED] wrote: (after more and more discussion, this will be my first non-top post) $rint1= rtrim($rintydata); echo $rint1; $rint2= explode(:, $rint1); The data starts like this (from and email, there are many) ; Time: November 9th 2003, 10:37AM - PST IP Address: xx.xx.xxx.xxx Browser Type: Opera/7.20 (Windows NT 5.1; U) [en] Referer: The problem is that when I do this ; while( $res=each($rint2) ) { echo br$res[1]br; }; the colon in Time messes things up. here is the result ; Time November 8th 2003, 07 15PM - PST IP Address xx.xx.xx.xxx Browser Type Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Referer when what I really want is ; Time - November 8th 2003, 07:15PM - PST IP - Address xx.xx.xx.xxx Browser Type - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Referer - I'd try something like: 1 ?php 2 $String = 'From: Wouter van Vliet [EMAIL PROTECTED]'; 3 preg_match('/^\s*([^:]*)\s*:\s*(.*)$/', $String, $Matches); 4 5 print_r($Matches); 6 7 ? == OUTPUT: Array ( [0] = From: Wouter van Vliet [EMAIL PROTECTED] [1] = From [2] = Wouter van Vliet [EMAIL PROTECTED] ) From here you'd be able to manipulate the things you want in any format you'd want it to have. Or use preg_match_all() if you have all mail headers in one variable. -- Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Explode and multple lines
Hello, I am using php to explode the lines of a text file (delimited by a comma), break it into an array, and echo only one of the array elements. I have accomplished all of this, but it only echos the text for one line. How do I get php to scan multiple lines? I tried to introduce a line count, but I can't find any information on how I can create a loop. An example would be: For the below text file, I want to echo dept, 10, 20, 40 ,30 empid, name, job, dept 10,Wilma Tucker, Sales Engineer, 10 43,James Whitmore, Unix SA, 20 50,Tricia Williams, Systems Developer, 40 427, Barry Regar, Administrative Assistant, 30 Thanks! -T -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] [php] explode that :) !
On 17 August 2003 08:34, Tom Rogers wrote: Hi, Sunday, August 17, 2003, 12:58:23 PM, you wrote: $P1OC1Q1 = 1¶some text or some comment; echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; Do I have to go through all that to get score[0] ? John if the number is always first and an integer: echo trtdYour score is: /tdtd.intval($P1OC1Q1)./td/tr\n; Or (int)$P1OC1Q1 Or $P1OC1Q1+0 Cheers! Mike - Mike Ford, Electronic Information Services Adviser, Learning Support Services, Learning Information Services, JG125, James Graham Building, Leeds Metropolitan University, Beckett Park, LEEDS, LS6 3QS, United Kingdom Email: [EMAIL PROTECTED] Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] [php] explode that :) !
* Thus wrote John Taylor-Johnston ([EMAIL PROTECTED]): $P1OC1Q1 = 1¶some text or some comment; echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; Do I have to go through all that to get score[0] ? substr($P1OC1Q1, 0, strpos($P1OC1Q1, '¶')-1) That will return every thing to the left of '¶'. and '' if nothing is there without complaining. Curt -- I used to think I was indecisive, but now I'm not so sure. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] [php] explode that :) !
Hi, Sunday, August 17, 2003, 12:58:23 PM, you wrote: JTJ $P1OC1Q1 = 1¶some text or some comment; JTJ echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; JTJ Do I have to go through all that to get score[0] ? JTJ John if the number is always first and an integer: echo trtdYour score is: /tdtd.intval($P1OC1Q1)./td/tr\n; -- regards, Tom -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] [php] explode that :) !
$P1OC1Q1 = 1¶some text or some comment; echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; Do I have to go through all that to get score[0] ? John -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] [php] explode that :) !
Looks like a really simple piece of code except for the cryptic variable names. John Taylor-Johnston wrote: $P1OC1Q1 = 1¶some text or some comment; echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; Do I have to go through all that to get score[0] ? John -- Raditha Dissanayake - http://www.radinks.com/sftp/ Lean and mean Secure FTP applet with Graphical User Inteface. just 150 Kilo Bytes -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] [php] explode that :) !
Kind of hoping to do shorten it like this: echo trtdYour score is: /tdtd.$score[0]=split($P1OC1Q1,¶)./td/tr\n; No such hopes? Looks like a really simple piece of code except for the cryptic variable names. $P1OC1Q1 = 1¶some text or some comment; echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; Do I have to go through all that to get score[0] ? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] [php] explode that :) !
echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; Do I have to go through all that to get score[0] ? I think reset(split()) should work for getting the first element. - michal migurski- contact info and pgp key: sf/cahttp://mike.teczno.com/contact.html -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] [php] explode that :) !
Why not: echo trtdYour score is: /tdtd.split($P1OC1Q1,)./td/tr\n; -Original Message- From: John Taylor-Johnston [mailto:[EMAIL PROTECTED] Sent: 17. ágúst 2003 03:48 To: [EMAIL PROTECTED] Subject: Re: [PHP] [php] explode that :) ! Kind of hoping to do shorten it like this: echo trtdYour score is: /tdtd.$score[0]=split($P1OC1Q1,¶)./td/tr\n; No such hopes? Looks like a really simple piece of code except for the cryptic variable names. $P1OC1Q1 = 1¶some text or some comment; echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; Do I have to go through all that to get score[0] ? -- 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
Re: [PHP] [php] explode that :) !
Why not: echo trtdYour score is: /tdtd.split($P1OC1Q1,¶)./td/tr\n; Ok, but what happens when $P1OC1Q1 = . It errors out. $P1OC1Q1 = ;#left blank $P1OC1Q2 = 1¶bunch of text; $P1OC1Q3 = 1¶bunch of text; $P1OC1Q4 = 1¶bunch of text; $P1OC1Q5 = 1¶bunch of text; $P1OC1Q6 = 1¶bunch of text; -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] [php] explode that :) !
Actually this does not work: echo split($P1OC1Q1,¶); There are two variables in $P1OC1Q1 = 1¶a bucnh of text I want to split $P1OC1Q1 and get 1 as a numeral for a calculation. I was looking for a cleaner way to do it. $P1OC1Q1 = 1¶some text or some comment; echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; My problem becomes more difficult when $P1OC1Q1 = ; Split errors out. SævË Ölêöyp wrote: Why not: echo trtdYour score is: /tdtd.split($P1OC1Q1,)./td/tr\n; -Original Message- From: John Taylor-Johnston [mailto:[EMAIL PROTECTED] Sent: 17. ágúst 2003 03:48 To: [EMAIL PROTECTED] Subject: Re: [PHP] [php] explode that :) ! Kind of hoping to do shorten it like this: echo trtdYour score is: /tdtd.$score[0]=split($P1OC1Q1,¶)./td/tr\n; No such hopes? Looks like a really simple piece of code except for the cryptic variable names. $P1OC1Q1 = 1¶some text or some comment; echo trtdYour score is: /tdtd; $score=split($P1OC1Q1,¶); echo $score[0]./td/tr\n; Do I have to go through all that to get score[0] ? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- John Taylor-Johnston - If it's not open-source, it's Murphy's Law. ' ' ' Collège de Sherbrooke: ô¿ô http://www.collegesherbrooke.qc.ca/languesmodernes/ - Université de Sherbrooke: http://compcanlit.ca/ 819-569-2064 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode and escape character for string separator
Hi all, Suppose I have a long string like $myStr = $string1:$string2:$string3; I can obviously explode them using : as the separator. But what if $string1 contains the character : by itself? I was thinking, first I am gonna put an escaping character, so I can do something like: $string1 = str_replace(:, \:, $string1); But that still won't work with explode. So, what can I use instead of explode? Anything simple, and fast? This is a hypothetical situation. The real situation is that I am trying to have a protocol for data sent by client using Flash. But the basic question remains. Thanks for any help. RDB -- - /\ ASCII Ribbon Campaign against HTML \ / email and proprietary format X attachments. / \ - Have you been used by Microsoft today? Choose your life. Choose freedom. Choose LINUX. - -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
--- Reuben D. Budiardja [EMAIL PROTECTED] wrote: Suppose I have a long string like $myStr = $string1:$string2:$string3; I can obviously explode them using : as the separator. But what if $string1 contains the character : by itself? You should strive to make your delimiter unique. A delimiter that might possibly appear within the items it is meant to delimit is no longer a delimiter. Chris = Become a better Web developer with the HTTP Developer's Handbook http://httphandbook.org/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
On Friday 18 July 2003 02:42 pm, Chris Shiflett wrote: --- Reuben D. Budiardja [EMAIL PROTECTED] wrote: Suppose I have a long string like $myStr = $string1:$string2:$string3; I can obviously explode them using : as the separator. But what if $string1 contains the character : by itself? You should strive to make your delimiter unique. A delimiter that might possibly appear within the items it is meant to delimit is no longer a delimiter. I did strive for that. But whatever character I choose, the problem remains that we can't guarantee that it's going ot be only used as deliminater, since the deliminated string is an input from user. So the problem remains. RDB -- - /\ ASCII Ribbon Campaign against HTML \ / email and proprietary format X attachments. / \ - Have you been used by Microsoft today? Choose your life. Choose freedom. Choose LINUX. - -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
On Friday 18 July 2003 02:42 pm, Chris Shiflett wrote: --- Reuben D. Budiardja [EMAIL PROTECTED] wrote: Suppose I have a long string like $myStr = $string1:$string2:$string3; I can obviously explode them using : as the separator. But what if $string1 contains the character : by itself? You should strive to make your delimiter unique. A delimiter that might possibly appear within the items it is meant to delimit is no longer a delimiter. I did strive for that. But whatever character I choose, the problem remains that we can't guarantee that it's going ot be only used as deliminater, since the deliminated string is an input from user. So the problem remains. So choose another method. ---John Holmes... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
Reuben D. Budiardja wrote: I did strive for that. But whatever character I choose, the problem remains that we can't guarantee that it's going ot be only used as deliminater, since the deliminated string is an input from user. So the problem remains. Are you adding the delimiter? If so, maybe you could escape that character in the users input when you add it. - Brad -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
One set of delimiters I often use for text files is ~~ or ^^. They are fairly unique. If they do appear in a file then there is probably garbage in the file and I want to know about. For my templates delimiter I use {::TagName::}. You could use }::{ as your delimiter. Don't limit yourself to just a single character. Although the upside down ! or ? are nice if you are not using Spanish. On Friday, July 18, 2003, at 03:04 PM, Reuben D. Budiardja wrote: I did strive for that. But whatever character I choose, the problem remains that we can't guarantee that it's going ot be only used as deliminater, since the deliminated string is an input from user. So the problem remains. -- Brent Baisley Systems Architect Landover Associates, Inc. Search Advisory Services for Advanced Technology Environments p: 212.759.6400/800.759.0577 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
On Friday 18 July 2003 03:01 pm, you wrote: On Friday 18 July 2003 02:42 pm, Chris Shiflett wrote: --- Reuben D. Budiardja [EMAIL PROTECTED] wrote: Suppose I have a long string like $myStr = $string1:$string2:$string3; I can obviously explode them using : as the separator. But what if $string1 contains the character : by itself? You should strive to make your delimiter unique. A delimiter that might possibly appear within the items it is meant to delimit is no longer a delimiter. I did strive for that. But whatever character I choose, the problem remains that we can't guarantee that it's going ot be only used as deliminater, since the deliminated string is an input from user. So the problem remains. So choose another method. I would if I can think of better method. That answer does not help. RDB -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
On Saturday 19 July 2003 03:04, Reuben D. Budiardja wrote: You should strive to make your delimiter unique. A delimiter that might possibly appear within the items it is meant to delimit is no longer a delimiter. I did strive for that. But whatever character I choose, the problem remains that we can't guarantee that it's going ot be only used as deliminater, since the deliminated string is an input from user. So the problem remains. Do note that your delimiter is not limited to a single character, it can be a sequence of characters. -- Jason Wong - Gremlins Associates - www.gremlins.biz Open Source Software Systems Integrators * Web Design Hosting * Internet Intranet Applications Development * -- Search the list archives before you post http://marc.theaimsgroup.com/?l=php-general -- /* Horner's Five Thumb Postulate: Experience varies directly with equipment ruined. */ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
load a bunch of characters into an array. Do a loop through that array and check all of your $strings for the current character in your loop. If the current array character does not exist in any of them, you have your delimiter. I could put together an example if you want me to. __ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
After reading your problem this is what I think you should do is dont let the user enter the string predelimited have them enter each individual string at which point you can safely search for the delimiter and replace it with the character of your choice _ is a favorite of mine. then rebuild the string and delimit it yourself Chris - Original Message - From: Reuben D. Budiardja [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, July 18, 2003 11:47 AM Subject: [PHP] explode and escape character for string separator Hi all, Suppose I have a long string like $myStr = $string1:$string2:$string3; I can obviously explode them using : as the separator. But what if $string1 contains the character : by itself? I was thinking, first I am gonna put an escaping character, so I can do something like: $string1 = str_replace(:, \:, $string1); But that still won't work with explode. So, what can I use instead of explode? Anything simple, and fast? This is a hypothetical situation. The real situation is that I am trying to have a protocol for data sent by client using Flash. But the basic question remains. Thanks for any help. RDB -- - /\ ASCII Ribbon Campaign against HTML \ / email and proprietary format X attachments. / \ - Have you been used by Microsoft today? Choose your life. Choose freedom. Choose LINUX. - -- 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
Re: [PHP] explode and escape character for string separator
From: Reuben D. Budiardja [EMAIL PROTECTED] This is a hypothetical situation. The real situation is that I am trying to have a protocol for data sent by client using Flash. But the basic question remains. So FLASH is creating the string that you must decode in PHP? Is there any way to URL encode things in flash? URL encode the data, separate with (just like a query string), and then it'll be easy to decode on the PHP side. ---John Holmes... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
On Friday 18 July 2003 03:33 pm, Chris Sherwood wrote: After reading your problem this is what I think you should do is dont let the user enter the string predelimited have them enter each individual string at which point you can safely search for the delimiter and replace it with the character of your choice _ is a favorite of mine. then rebuild the string and delimit it yourself I was thinking about that too, but that doesn't really solve the inherent problem. What if the user also have _ in the string? How then do I know which _ is my doing? Because in my case, it's faily conceivable that _ will get used. RDB Chris - Original Message - From: Reuben D. Budiardja [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, July 18, 2003 11:47 AM Subject: [PHP] explode and escape character for string separator Hi all, Suppose I have a long string like $myStr = $string1:$string2:$string3; I can obviously explode them using : as the separator. But what if $string1 contains the character : by itself? I was thinking, first I am gonna put an escaping character, so I can do something like: $string1 = str_replace(:, \:, $string1); But that still won't work with explode. So, what can I use instead of explode? Anything simple, and fast? This is a hypothetical situation. The real situation is that I am trying to have a protocol for data sent by client using Flash. But the basic question remains. Thanks for any help. RDB -- - /\ ASCII Ribbon Campaign against HTML \ / email and proprietary format X attachments. / \ - Have you been used by Microsoft today? Choose your life. Choose freedom. Choose LINUX. - -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
--- Reuben D. Budiardja wrote: I did strive for that. But whatever character I choose, the problem remains that we can't guarantee that it's going ot be only used as deliminater, since the deliminated string is an input from user. So the problem remains. Well, just to point out, your delimiter can be anything, including: )[EMAIL PROTECTED]*(donotusethisstringofcharactersinanything(*[EMAIL PROTECTED]) Of course, at some point, that method of playing with probability becomes unrealistic, and it is imperfect. John's suggestion of URL encoding is likely your best bet. Given your string: $foo:$bar:$blah Make that instead: urlencode($foo) . '' . urlencode($bar) . '' . urlencode($blah) Then you can use as your delimiter and be guaranteed that it does not exist within each string. It is also easy to recover the original strings, and since you are using PHP functions, there is less code to write (always a big plus). Hope that helps. Chris = Become a better Web developer with the HTTP Developer's Handbook http://httphandbook.org/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
On Friday 18 July 2003 03:43 pm, CPT John W. Holmes wrote: From: Reuben D. Budiardja [EMAIL PROTECTED] This is a hypothetical situation. The real situation is that I am trying to have a protocol for data sent by client using Flash. But the basic question remains. So FLASH is creating the string that you must decode in PHP? Is there any way to URL encode things in flash? URL encode the data, separate with (just like a query string), and then it'll be easy to decode on the PHP side. Flash has its own built in method for sending/uploading data to a URL, using the GET or POST protocol, so that's taken care of. What I am trying to do is to send a structured data set and create my own protocol for doing so. For example, when the Flash send this string col1:[EMAIL PROTECTED]:col4 My PHP code will interpret it as a table, and construct a correspoding HTML table --|-- col1 | col2 --|-- col3 | col 4 etc. We will try to send structured data of graph, multiple choice options and answer, etc using this method as well. That's why we have this problem. RDB -- - /\ ASCII Ribbon Campaign against HTML \ / email and proprietary format X attachments. / \ - Have you been used by Microsoft today? Choose your life. Choose freedom. Choose LINUX. - -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
Chris Shiflett wrote: --- Reuben D. Budiardja wrote: I did strive for that. But whatever character I choose, the problem remains that we can't guarantee that it's going ot be only used as deliminater, since the deliminated string is an input from user. So the problem remains. Well, just to point out, your delimiter can be anything, including: )[EMAIL PROTECTED]*(donotusethisstringofcharactersinanything(*[EMAIL PROTECTED]) Of course, at some point, that method of playing with probability becomes unrealistic, and it is imperfect. John's suggestion of URL encoding is likely your best bet. Given your string: $foo:$bar:$blah Make that instead: urlencode($foo) . '' . urlencode($bar) . '' . urlencode($blah) Then you can use as your delimiter and be guaranteed that it does not exist within each string. It is also easy to recover the original strings, and since you are using PHP functions, there is less code to write (always a big plus). Hope that helps. Chris = Become a better Web developer with the HTTP Developer's Handbook http://httphandbook.org/ I like the way you encode things like $ in php. $ = delimiter /$ = $ //$ = /delimiter ///$ = /$ $ = //delimiter /$ = //$ etc. = // /$/$ = $$ etc. To encode the input, just change every / to a // and every $ to a /$. Decoding is the opposite. I don't think that there are any weird situations that can screw this up. You can use the same escape character / for any special character, ie /@ or /: if necessary. Grant -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
Among other things, this is why XML exists. Use XML. FLASH can handle it, PHP can handle it, everything out there can handle it. Use XML. Delimiters will sooner or later break down. Use XML. Over and out. Grant Rutherford wrote: Chris Shiflett wrote: --- Reuben D. Budiardja wrote: I did strive for that. But whatever character I choose, the problem remains that we can't guarantee that it's going ot be only used as deliminater, since the deliminated string is an input from user. So the problem remains. Well, just to point out, your delimiter can be anything, including: )[EMAIL PROTECTED]*(donotusethisstringofcharactersinanything(*[EMAIL PROTECTED]) Of course, at some point, that method of playing with probability becomes unrealistic, and it is imperfect. John's suggestion of URL encoding is likely your best bet. Given your string: $foo:$bar:$blah Make that instead: urlencode($foo) . '' . urlencode($bar) . '' . urlencode($blah) Then you can use as your delimiter and be guaranteed that it does not exist within each string. It is also easy to recover the original strings, and since you are using PHP functions, there is less code to write (always a big plus). Hope that helps. Chris = Become a better Web developer with the HTTP Developer's Handbook http://httphandbook.org/ I like the way you encode things like $ in php. $ = delimiter /$ = $ //$ = /delimiter ///$ = /$ $ = //delimiter /$ = //$ etc. = // /$/$ = $$ etc. To encode the input, just change every / to a // and every $ to a /$. Decoding is the opposite. I don't think that there are any weird situations that can screw this up. You can use the same escape character / for any special character, ie /@ or /: if necessary. Grant -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode and escape character for string separator
Reuben D. Budiardja [EMAIL PROTECTED] wrote: Anything simple, and fast? xml is simple, and fast to implement. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode, split, or what?
Thank you to those of you who helped me with my last problem earlier today. Now I have a text file (setup.txt) that has a series of values all seperated by \r\n's. Inside of another file I'm trying to read setup.txt into $rawSetupData and explode that with \r\n's into an array called $setupData. My problem is that the explode function doesn't seem to be doing anything, and neither is split which I tried also. Here is my code: setup.txt *** John\'s X Log 10 5 example.com treeclimber56 ab3c45def *** test.php *** ?php if (file_exists(setup.txt)) { $rawSetupData = readfile(setup.txt); $setupData = explode(\r\n, $rawSetupData); echo $setupData[0]; } else echo Error opening \setup.txt\; ? *** Actual results of running test.php *** John\'s X Log 10 5 example.com treeclimber56 ab3c45def 61 *** Desired reults of running test.php *** John's X Log *** Other problem: In the actual results of running test.php where is the 61 coming from? Thank you, -- Kyle -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] explode, split, or what?
why don't you just do this? *** ?php if(file_exists(setup.txt)){ $lines=file(setup.txt); echo stripslashes($lines[0]); } else echo Error opening \setup.txt\; ? *** file() returns the file in an array, each line as new value, so line nr. 1 is $line[0], line nr. 2 is $line[1] etc... I added stripslashes() on the output so that you won't get John\'s X Log Sævar - ICELAND -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode, split, or what?
At 6/19/2003 10:41 PM, Kyle Babich wrote: Inside of another file I'm trying to read setup.txt into $rawSetupData and explode that with \r\n's into an array called $setupData. Why on earth? http://us4.php.net/file ?php if (file_exists(setup.txt)) { $rawSetupData = readfile(setup.txt); $setupData = explode(\r\n, $rawSetupData); echo $setupData[0]; } else echo Error opening \setup.txt\; ? No no nonono ? if ($file_exists(setup.txt)) { $setupData = file(setup.txt); } else { echo 'Error opening setup.txt'; } ? -- S. Keller UI Engineer The Health TV Channel, Inc. (a non - profit organization) 3820 Lake Otis Pkwy. Anchorage, AK 99508 907.770.6200 ext.220 907.336.6205 (fax) Email: [EMAIL PROTECTED] Web: www.healthtvchannel.org -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode( , $pizza)
Hi, i found something like: var s = This,is,a,String; lenght = s.lenght; document.write(s.bold()); t = s.substring(2,4); a = s.split(,); // This line is the most interesting one ;)) document.write(a[1]); // should write the word 'is' Dont know if it works, i just looked in one of my old books. The Book where i found the answer is from O'Reilly: Javascript the defenetive reference or some like that, another very very good book is Dynamic HTML from O'Reilly, you should find all infor- mation you need there. Good luck! Sascha - Original Message - From: John Taylor-Johnston [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, February 25, 2003 7:21 AM Subject: [PHP] explode( , $pizza) Off topic :) ? Anyone know how to explode using javascript? $pieces = explode( , $pizza); John -- 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
RE: [PHP] explode( , $pizza)
The following example illustrates the use of the split method. function SplitDemo(){ var s, ss; var s = The rain in Spain falls mainly in the plain.; // Split at each space character. ss = s.split( ); return(ss); } HTH t. -Message d'origine- De : John Taylor-Johnston [mailto:[EMAIL PROTECTED] Envoye : mardi 25 fevrier 2003 07:22 A : [EMAIL PROTECTED] Objet : [PHP] explode( , $pizza) Off topic :) ? Anyone know how to explode using javascript? $pieces = explode( , $pizza); John -- 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
[PHP] explode( , $pizza)
Off topic :) ? Anyone know how to explode using javascript? $pieces = explode( , $pizza); John -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] explode didn't work well
Hi all: I had tried to split the string into an array of string using explode but the result isn't displaying anything I tried the example from document its its not showing anything, pls point out where i went wrong ** $pizaa=piece1 piece2 piece3 piece4 piece5 piece6; $pieces = explode(' ', $pizza); echo $pizaa; echo ($pieces [2]); Thanks in advance Prad __ Do you Yahoo!? HotJobs - Search new jobs daily now http://hotjobs.yahoo.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] explode didn't work well
Because you can't spell pizza, I bet. On Thu, 31 Oct 2002, ppf wrote: Hi all: I had tried to split the string into an array of string using explode but the result isn't displaying anything I tried the example from document its its not showing anything, pls point out where i went wrong ** $pizaa=piece1 piece2 piece3 piece4 piece5 piece6; $pieces = explode(' ', $pizza); echo $pizaa; echo ($pieces [2]); Thanks in advance Prad __ Do you Yahoo!? HotJobs - Search new jobs daily now http://hotjobs.yahoo.com/ -- 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