@@ 47-68 (lines=22) @@ | ||
44 | public function getBracketCount($string, $bracketType) |
|
45 | { |
|
46 | // prepare opening and closing bracket according to bracket type |
|
47 | switch ($bracketType) { |
|
48 | case '(': |
|
49 | case ')': |
|
50 | $openingBracket = '('; |
|
51 | $closingBracket = ')'; |
|
52 | break; |
|
53 | ||
54 | case '{': |
|
55 | case '}': |
|
56 | $openingBracket = '{'; |
|
57 | $closingBracket = '}'; |
|
58 | break; |
|
59 | ||
60 | case '[': |
|
61 | case ']': |
|
62 | $openingBracket = '['; |
|
63 | $closingBracket = ']'; |
|
64 | break; |
|
65 | ||
66 | default: |
|
67 | throw new \Exception(sprintf('Unrecognized bracket type %s', $bracketType)); |
|
68 | } |
|
69 | ||
70 | return substr_count($string, $openingBracket) - substr_count($string, $closingBracket); |
|
71 | } |
|
@@ 87-108 (lines=22) @@ | ||
84 | public function getBracketSpan($string, $bracketType, $offset = 0) |
|
85 | { |
|
86 | // prepare opening and closing bracket according to bracket type |
|
87 | switch ($bracketType) { |
|
88 | case '(': |
|
89 | case ')': |
|
90 | $openingBracket = '('; |
|
91 | $closingBracket = ')'; |
|
92 | break; |
|
93 | ||
94 | case '{': |
|
95 | case '}': |
|
96 | $openingBracket = '{'; |
|
97 | $closingBracket = '}'; |
|
98 | break; |
|
99 | ||
100 | case '[': |
|
101 | case ']': |
|
102 | $openingBracket = '['; |
|
103 | $closingBracket = ']'; |
|
104 | break; |
|
105 | ||
106 | default: |
|
107 | throw new \Exception(sprintf('Unrecognized bracket type %s', $bracketType)); |
|
108 | } |
|
109 | ||
110 | // split up the string and analyse it character for character |
|
111 | $bracketCounter = null; |