corrade-http-templates – Diff between revs 14 and 67
?pathlinks?
Rev 14 | Rev 67 | |||
---|---|---|---|---|
Line 51... | Line 51... | |||
51 | function wasCSVToArray($csv) { |
51 | function wasCSVToArray($csv) { |
|
52 | $l = array(); |
52 | $l = array(); |
|
53 | $s = array(); |
53 | $s = array(); |
|
54 | $m = ""; |
54 | $m = ""; |
|
55 | for ($i = 0; $i < strlen($csv); ++$i) { |
55 | for ($i = 0; $i < strlen($csv); ++$i) { |
|
56 | switch ($csv{$i}) { |
56 | switch ($csv[$i]) { |
|
57 | case ',': |
57 | case ',': |
|
58 | if (sizeof($s) == 0 || !current($s) == '"') { |
58 | if (sizeof($s) == 0 || !current($s) == '"') { |
|
59 | array_push($l, $m); |
59 | array_push($l, $m); |
|
60 | $m = ""; |
60 | $m = ""; |
|
61 | break; |
61 | break; |
|
62 | } |
62 | } |
|
63 | $m .= $csv{$i}; |
63 | $m .= $csv[$i]; |
|
64 | continue; |
64 | continue; |
|
65 | case '"': |
65 | case '"': |
|
66 | if ($i + 1 < strlen($csv) && $csv{$i} == $csv{$i + 1}) { |
66 | if ($i + 1 < strlen($csv) && $csv[$i] == $csv[$i + 1]) { |
|
67 | $m .= $csv{$i}; |
67 | $m .= $csv[$i]; |
|
68 | ++$i; |
68 | ++$i; |
|
69 | break; |
69 | break; |
|
70 | } |
70 | } |
|
71 | if (sizeof($s) == 0|| !current($s) == $csv[$i]) { |
71 | if (sizeof($s) == 0|| !current($s) == $csv[$i]) { |
|
72 | array_push($s, $csv{$i}); |
72 | array_push($s, $csv[$i]); |
|
73 | continue; |
73 | continue; |
|
74 | } |
74 | } |
|
75 | array_pop($s); |
75 | array_pop($s); |
|
76 | break; |
76 | break; |
|
77 | default: |
77 | default: |
|
78 | $m .= $csv{$i}; |
78 | $m .= $csv[$i]; |
|
79 | break; |
79 | break; |
|
80 | } |
80 | } |
|
81 | } |
81 | } |
|
82 | array_push($l, $m); |
82 | array_push($l, $m); |
|
83 | return $l; |
83 | return $l; |