1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
<?php
class N2Parse {
function fromMixed($s) {
return explode('|*|', $s); }
static function fromArray($s) {
return explode('||', $s); }
/** * @param $str * @param bool $concat * * @return array */ static function parse($str, $concat = false) {
$v = explode("|*|", $str); for ($i = 0; $i < count($v); $i++) { if (strpos($v[$i], "||") !== false) { if ($concat === false) $v[$i] = explode("||", $v[$i]); else $v[$i] = str_replace("||", $concat, $v[$i]); } }
//if ($v[count($v) - 1] == '') unset($v[count($v) - 1]); return count($v) == 1 ? $v[0] : $v; }
static function parseUnit($value, $concat = '') {
if (!is_array($value)) $value = self::parse($value); $unit = $value[count($value) - 1]; unset($value[count($value) - 1]); $r = ''; foreach ($value AS $m) { $r .= $m . $unit . $concat; }
return $r; } }
|