corrade-http-templates – Diff between revs 12 and 66
?pathlinks?
Rev 12 | Rev 66 | |||
---|---|---|---|---|
Line 23... | Line 23... | |||
23 | function wasCSVToArray($csv) { |
23 | function wasCSVToArray($csv) { |
|
24 | $l = array(); |
24 | $l = array(); |
|
25 | $s = array(); |
25 | $s = array(); |
|
26 | $m = ""; |
26 | $m = ""; |
|
27 | for ($i = 0; $i < strlen($csv); ++$i) { |
27 | for ($i = 0; $i < strlen($csv); ++$i) { |
|
28 | switch ($csv{$i}) { |
28 | switch ($csv[$i]) { |
|
29 | case ',': |
29 | case ',': |
|
30 | if (sizeof($s) == 0 || !current($s) == '"') { |
30 | if (sizeof($s) == 0 || !current($s) == '"') { |
|
31 | array_push($l, $m); |
31 | array_push($l, $m); |
|
32 | $m = ""; |
32 | $m = ""; |
|
33 | break; |
33 | break; |
|
34 | } |
34 | } |
|
35 | $m .= $csv{$i}; |
35 | $m .= $csv[$i]; |
|
36 | continue; |
36 | continue; |
|
37 | case '"': |
37 | case '"': |
|
38 | if ($i + 1 < strlen($csv) && $csv{$i} == $csv{$i + 1}) { |
38 | if ($i + 1 < strlen($csv) && $csv[$i] == $csv[$i + 1]) { |
|
39 | $m .= $csv{$i}; |
39 | $m .= $csv[$i]; |
|
40 | ++$i; |
40 | ++$i; |
|
41 | break; |
41 | break; |
|
42 | } |
42 | } |
|
43 | if (sizeof($s) == 0|| !current($s) == $csv[$i]) { |
43 | if (sizeof($s) == 0|| !current($s) == $csv[$i]) { |
|
44 | array_push($s, $csv{$i}); |
44 | array_push($s, $csv[$i]); |
|
45 | continue; |
45 | continue; |
|
46 | } |
46 | } |
|
47 | array_pop($s); |
47 | array_pop($s); |
|
48 | break; |
48 | break; |
|
49 | default: |
49 | default: |
|
50 | $m .= $csv{$i}; |
50 | $m .= $csv[$i]; |
|
51 | break; |
51 | break; |
|
52 | } |
52 | } |
|
53 | } |
53 | } |
|
54 | array_push($l, $m); |
54 | array_push($l, $m); |
|
55 | return $l; |
55 | return $l; |