| | |
| | | $level=0; |
| | | $len = strlen($str); |
| | | $in_quote = 0; |
| | | |
| | | for ($i=$start;$i<$len;$i++){ |
| | | if ($str[$i]=="\"") $in_quote = ($in_quote + 1) % 2; |
| | | if ($str[$i] == '"' && $str[$i-1] != "\\") |
| | | $in_quote = ($in_quote + 1) % 2; |
| | | if (!$in_quote){ |
| | | if ($str[$i]=="(") $level++; |
| | | else if (($level > 0) && ($str[$i]==")")) $level--; |
| | |
| | | $id = 0; |
| | | $a = array(); |
| | | $len = strlen($str); |
| | | |
| | | $in_quote = 0; |
| | | |
| | | for ($i=0; $i<$len; $i++){ |
| | | if ($str[$i] == "\"") $in_quote = ($in_quote + 1) % 2; |
| | | else if (!$in_quote){ |
| | | if ($str[$i] == '"') { |
| | | $in_quote = ($in_quote + 1) % 2; |
| | | } else if (!$in_quote) { |
| | | if ($str[$i] == " "){ //space means new element |
| | | $id++; |
| | | while ($str[$i+1] == " ") $i++; // skip additional spaces |
| | |
| | | $part = substr($str, $i, $partLen); |
| | | $a[$id] = iml_ParseBSString($part); //send part string |
| | | $i = $endPos; |
| | | }else $a[$id].=$str[$i]; //add to current element in array |
| | | } else |
| | | $a[$id].=$str[$i]; //add to current element in array |
| | | }else if ($in_quote){ |
| | | if ($str[$i]=="\\") $i++; //escape backslashes |
| | | else $a[$id].=$str[$i]; //add to current element in array |
| | | if ($str[$i]=="\\") { |
| | | $i++; //escape backslashes |
| | | if ($str[$i] == '"' || $str[$i] == "\\") |
| | | $a[$id] .= $str[$i]; |
| | | } else |
| | | $a[$id] .= $str[$i]; //add to current element in array |
| | | } |
| | | } |
| | | |