44
55class BooleanQueryParser
66{
7- private $ splitter ;
7+ protected $ splitter ;
88
99 public const AND_TOKEN = 'and ' ;
1010 public const OR_TOKEN = 'or ' ;
@@ -90,7 +90,7 @@ public function parse(string $string): ?string
9090 *
9191 * @return string
9292 */
93- private function firstClean (string $ string ) : string
93+ protected function firstClean (string $ string ): string
9494 {
9595 $ output = str_ireplace ('title: ' , ' ' , $ string );
9696 $ output = str_replace (['{ ' , '[ ' , '} ' , '] ' , '“ ' , '” ' ], ['( ' , '( ' , ') ' , ') ' , '" ' , '" ' ], $ output );
@@ -113,12 +113,12 @@ private function firstClean(string $string) : string
113113 *
114114 * @return array
115115 */
116- private function secondClean (array $ tokens ): array
116+ protected function secondClean (array $ tokens ): array
117117 {
118118 $ toReturn = [];
119119
120120 foreach ($ tokens as $ token ) {
121- $ token = preg_replace ('/[^a-zA-Z0- 9 @\(\)\-\+\*\"\.]/ ' , '' , $ token );
121+ $ token = preg_replace ('/[^\p{L}0- 9 @\(\)\-\+\*\"\.]/ui ' , '' , $ token );
122122 $ toReturn [] = $ token ;
123123 }
124124
@@ -132,7 +132,7 @@ private function secondClean(array $tokens): array
132132 *
133133 * @return array
134134 */
135- private function mergeHyphenatedWords (array $ tokens ): array
135+ protected function mergeHyphenatedWords (array $ tokens ): array
136136 {
137137 $ toReturn = [];
138138
@@ -183,7 +183,7 @@ private function mergeHyphenatedWords(array $tokens): array
183183 *
184184 * @return array
185185 */
186- private function processAsterisk (array $ tokens ): array
186+ protected function processAsterisk (array $ tokens ): array
187187 {
188188 $ toReturn = [];
189189
@@ -216,7 +216,7 @@ private function processAsterisk(array $tokens): array
216216 *
217217 * @return bool
218218 */
219- private function isBalanced (array $ tokens ): bool
219+ protected function isBalanced (array $ tokens ): bool
220220 {
221221 $ balanced = 0 ;
222222
@@ -242,7 +242,7 @@ private function isBalanced(array $tokens): bool
242242 *
243243 * @return array
244244 */
245- private function splitIntoTokens (string $ string ): array
245+ protected function splitIntoTokens (string $ string ): array
246246 {
247247 $ tokens = [];
248248 $ token = '' ;
@@ -257,7 +257,7 @@ private function splitIntoTokens(string $string): array
257257 $ substr = substr ($ string , $ pos , $ i );
258258 if ($ this ->splitter ->isSplitter ($ substr )) {
259259
260- if ($ token !== "" ) {
260+ if ($ token !== '' ) {
261261 $ tokens [] = $ token ;
262262 }
263263
@@ -287,7 +287,7 @@ private function splitIntoTokens(string $string): array
287287 *
288288 * @return array
289289 */
290- private function mergeQuotedStrings (array $ tokens ): array
290+ protected function mergeQuotedStrings (array $ tokens ): array
291291 {
292292 $ token_count = \count ($ tokens );
293293 $ i = 0 ;
@@ -324,7 +324,7 @@ private function mergeQuotedStrings(array $tokens): array
324324 *
325325 * @return array
326326 */
327- private function clearSpaces (array $ tokens ): array
327+ protected function clearSpaces (array $ tokens ): array
328328 {
329329 $ toReturn = [];
330330
@@ -346,7 +346,7 @@ private function clearSpaces(array $tokens): array
346346 *
347347 * @return array
348348 */
349- private function removeLeadingTrailingOperators (array $ tokens ) : array
349+ protected function removeLeadingTrailingOperators (array $ tokens ): array
350350 {
351351 $ arrayTouched = false ;
352352 $ stopOperators = [static ::AND_TOKEN , static ::OR_TOKEN , static ::AND_TOKEN_CHARACTER , static ::OR_TOKEN_CHARACTER ];
@@ -376,7 +376,7 @@ private function removeLeadingTrailingOperators(array $tokens) : array
376376 *
377377 * @return array
378378 */
379- private function cleanStackedOperators (array $ tokens ): array
379+ protected function cleanStackedOperators (array $ tokens ): array
380380 {
381381 $ toReturn = [];
382382
@@ -426,7 +426,7 @@ private function cleanStackedOperators(array $tokens): array
426426 *
427427 * @return array
428428 */
429- private function addMissingAndOperators (array $ tokens ): array
429+ protected function addMissingAndOperators (array $ tokens ): array
430430 {
431431 $ toReturn = [];
432432
@@ -465,7 +465,7 @@ private function addMissingAndOperators(array $tokens): array
465465 *
466466 * @return array
467467 */
468- private function process (array $ tokens , string $ tokenToFind , string $ characterToReplace ): array
468+ protected function process (array $ tokens , string $ tokenToFind , string $ characterToReplace ): array
469469 {
470470 $ toReturn = [];
471471
@@ -524,7 +524,7 @@ private function process(array $tokens, string $tokenToFind, string $characterTo
524524 *
525525 * @return array
526526 */
527- private function processNot ($ tokens ): array
527+ protected function processNot ($ tokens ): array
528528 {
529529 $ toReturn = [];
530530
@@ -547,7 +547,7 @@ private function processNot($tokens): array
547547 *
548548 * @return string
549549 */
550- private function finalClean (string $ string ): string
550+ protected function finalClean (string $ string ): string
551551 {
552552 $ output = str_replace ([static ::NOT_TOKEN_CHARACTER . ' ' , static ::AND_TOKEN_CHARACTER . ' ' , static ::OR_TOKEN_CHARACTER . ' ' ], [' ' . static ::NOT_TOKEN_CHARACTER , ' ' . static ::AND_TOKEN_CHARACTER , ' ' . static ::OR_TOKEN_CHARACTER ], $ string );
553553 $ output = preg_replace ('/\s\s+/ ' , ' ' , $ output ); // Remove double spaces
0 commit comments