note 94024 added to function.explode

From: Date: Mon, 12 Oct 2009 21:28:53 +0000
Subject: note 94024 added to function.explode
Groups: php.notes 
Request: Send a blank email to php-notes+get-161661@lists.php.net to get a copy of this message
Here is a very concise example for a quote aware explode - substrings in quotes (or another definable enclosure char) are not exploded. An additional parameter allows to determine whether the enclosure chars should be preserved within the resulting array elements. Please note that as of PHP 5.3 the str_getcsv function offers a built-in way to do this! function csv_explode($delim=',', $str, $enclose='"', $preserve=false){ $resArr = array(); $n = 0; $expEncArr = explode($enclose, $str); foreach($expEncArr as $EncItem){ if($n++%2){ array_push($resArr, array_pop($resArr) . ($preserve?$enclose:'') . $EncItem.($preserve?$enclose:'')); }else{ $expDelArr = explode($delim, $EncItem); array_push($resArr, array_pop($resArr) . array_shift($expDelArr)); $resArr = array_merge($resArr, $expDelArr); } } return $resArr; } ---- Server IP: 69.147.83.197 Probable Submitter: 84.165.240.233 ---- Manual Page -- http://www.php.net/manual/en/function.explode.php Edit -- https://master.php.net/note/edit/94024 Del: integrated -- https://master.php.net/note/delete/94024/integrated Del: useless -- https://master.php.net/note/delete/94024/useless Del: bad code -- https://master.php.net/note/delete/94024/bad+code Del: spam -- https://master.php.net/note/delete/94024/spam Del: non-english -- https://master.php.net/note/delete/94024/non-english Del: in docs -- https://master.php.net/note/delete/94024/in+docs Del: other reasons-- https://master.php.net/note/delete/94024 Reject -- https://master.php.net/note/reject/94024 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#161661) next »