While(list($iarg, $ival) = each($temparray))ītw this fn checks if $now if between $fromdate and $todate $temparray = split($splitter, substr($val, $delimlen, strlen($val)-$delimlen-$delimlen ) ) Each string has extraneous delimiters around it (inc the ones we added above), so they need to be stripped off Break up the string according to the delimiter character Add the whole string, untouched to the result array. While (list($arg, $val) = each($getstrings)) $instring toggles so we know if we are in a quoted string or not $getstrings = split('\"', $splitter.$s.$splitter) Adding the delimiter to the ends simplifies the logic further down First step is to split it up into the bits that are surrounded by quotes and the bits that aren't. It seemed to split on a comma even though it was between a pair of quotes. To demonstrate the real situation I wrote following example: In fact the regular expresion "" contains 4 bytes (4 non-unicode characters). UTF-8 charset codes some characters (like the " " character) into two bytes. When I use char the split function ad an empty string between "2" and "12".
$qstr = substr_replace ( $qstr, '', strrpos ( $qstr, '"' ), 1 )
$qstr = substr_replace ( $qstr, '', strpos ( $qstr, '"' ), 1 ) Remove first and last quotes, then merge pairs of quotes To fix this, I changed the second substr_count to look for an odd number of quotes, as opposed to any quotes at all: In response to the getCSVValues() function posted by justin at cam dot org, my testing indicates that it has a problem with a CSV string like this:
#Stri gsplit php archive
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Errors Exceptions Generators References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security Introduction General considerations Installed as CGI binary Installed as an Apache module Session Security Filesystem Security Database Security Error Reporting Using Register Globals User Submitted Data Magic Quotes Hiding PHP Keeping Current Features HTTP authentication with PHP Cookies Sessions Dealing with XForms Handling file uploads Using remote files Connection handling Persistent Database Connections Safe Mode Command line usage Garbage Collection DTrace Dynamic Tracing Function Reference Affecting PHP's Behaviour Audio Formats Manipulation Authentication Services Command Line Specific Extensions Compression and Archive Extensions Credit Card Processing Cryptography Extensions Database Extensions Date and Time Related Extensions File System Related Extensions Human Language and Character Encoding Support Image Processing and Generation Mail Related Extensions Mathematical Extensions Non-Text MIME Output Process Control Extensions Other Basic Extensions Other Services Search Engine Extensions Server Specific Extensions Session Extensions Text Processing Variable and Type Related Extensions Web Services Windows Only Extensions XML Manipulation GUI Extensions Keyboard Shortcuts ? This help j Next menu item k Previous menu item g p Previous man page g n Next man page G Scroll to bottom g g Scroll to top g h Goto homepage g s Goto search