RE: [PHP] break up variable and put each element in an array

From: Date: Tue, 08 Aug 2006 20:47:06 +0000
Subject: RE: [PHP] break up variable and put each element in an array
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-240342@lists.php.net to get a copy of this message
>>> try this: >>> >>> $string = "3/01/2005 29/12/2005 2/01/2006 20/02/2006 28/12/2006 >>> 1/01/2007 >>> 15/02/2007"; >>> $array = explode(' ', $string); >>> foreach ($array as $value) echo "Date: $value<br />"; >> >> If the user separates the dates by an enter in the textarea, you need >> to >> explode on "\r\n". To be able to handle both, you need to use split() >> or >> preg_split(). >> >> >> When I use >> $datelist=$_POST[datelist]; >> $string=explode('\r\n',$datelist); > > '\r\n' and "\r\n" are not anything alike... > > \r\n only have special meaning inside of ", not ' > > If you want to cover all browser/OS combinations, you'd want to > pre-treat the text area input like: > $datelist = $_POST['datelist']; > $datelist = str_replace("\r\n", "\r", $datelist); > $datelist = str_replace("\r", "\n", $datelist); > > Now all the date are separated by "\n" and you can reliably use > explode("\n", $datelist); on them. Actually, I know that both Windows and Linux send a linebreak in a textarea as "\r\n", not "\n". I assume it's all the same for all platforms, and that Mac would send "\r\n", too.

« previous php.general (#240342) next »