| | |
| | | for ($i=0; $i<$len; $i++){ |
| | | if ($str[$i] == "\"") $in_quote = ($in_quote + 1) % 2; |
| | | else if (!$in_quote){ |
| | | if ($str[$i] == " ") $id++; //space means new element |
| | | else if ($str[$i]=="("){ //new part |
| | | if ($str[$i] == " "){ //space means new element |
| | | $id++; |
| | | while ($str[$i+1] == " ") $i++; // skip additional spaces |
| | | } else if ($str[$i]=="("){ //new part |
| | | $i++; |
| | | $endPos = iml_ClosingParenPos($str, $i); |
| | | $partLen = $endPos - $i; |
| | | if ($partLen < 0) break; |
| | | $part = substr($str, $i, $partLen); |
| | | $a[$id] = iml_ParseBSString($part); //send part string |
| | | if ($verbose){ |
| | | echo "{>".$endPos."}"; |
| | | flush(); |
| | | } |
| | | $i = $endPos; |
| | | }else $a[$id].=$str[$i]; //add to current element in array |
| | | }else if ($in_quote){ |
| | |
| | | } |
| | | //echo "s - part: $part rest: $rest array: ".implode(" ", $a)."<br>\n"; |
| | | if (is_array($a[$part-1])) return $a[$part-1]; |
| | | else return false; |
| | | else return $a; |
| | | }else if (($part==0) || (empty($part))){ |
| | | return $a; |
| | | } |