| @@ 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; |
|