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