4
4
5
5
class BooleanQueryParser
6
6
{
7
- private $ splitter ;
7
+ protected $ splitter ;
8
8
9
9
public const AND_TOKEN = 'and ' ;
10
10
public const OR_TOKEN = 'or ' ;
@@ -90,7 +90,7 @@ public function parse(string $string): ?string
90
90
*
91
91
* @return string
92
92
*/
93
- private function firstClean (string $ string ) : string
93
+ protected function firstClean (string $ string ): string
94
94
{
95
95
$ output = str_ireplace ('title: ' , ' ' , $ string );
96
96
$ output = str_replace (['{ ' , '[ ' , '} ' , '] ' , '“ ' , '” ' ], ['( ' , '( ' , ') ' , ') ' , '" ' , '" ' ], $ output );
@@ -113,12 +113,12 @@ private function firstClean(string $string) : string
113
113
*
114
114
* @return array
115
115
*/
116
- private function secondClean (array $ tokens ): array
116
+ protected function secondClean (array $ tokens ): array
117
117
{
118
118
$ toReturn = [];
119
119
120
120
foreach ($ tokens as $ token ) {
121
- $ token = preg_replace ('/[^a-zA-Z0- 9 @\(\)\-\+\*\"\.]/ ' , '' , $ token );
121
+ $ token = preg_replace ('/[^\p{L}0- 9 @\(\)\-\+\*\"\.]/ui ' , '' , $ token );
122
122
$ toReturn [] = $ token ;
123
123
}
124
124
@@ -132,7 +132,7 @@ private function secondClean(array $tokens): array
132
132
*
133
133
* @return array
134
134
*/
135
- private function mergeHyphenatedWords (array $ tokens ): array
135
+ protected function mergeHyphenatedWords (array $ tokens ): array
136
136
{
137
137
$ toReturn = [];
138
138
@@ -183,7 +183,7 @@ private function mergeHyphenatedWords(array $tokens): array
183
183
*
184
184
* @return array
185
185
*/
186
- private function processAsterisk (array $ tokens ): array
186
+ protected function processAsterisk (array $ tokens ): array
187
187
{
188
188
$ toReturn = [];
189
189
@@ -216,7 +216,7 @@ private function processAsterisk(array $tokens): array
216
216
*
217
217
* @return bool
218
218
*/
219
- private function isBalanced (array $ tokens ): bool
219
+ protected function isBalanced (array $ tokens ): bool
220
220
{
221
221
$ balanced = 0 ;
222
222
@@ -242,7 +242,7 @@ private function isBalanced(array $tokens): bool
242
242
*
243
243
* @return array
244
244
*/
245
- private function splitIntoTokens (string $ string ): array
245
+ protected function splitIntoTokens (string $ string ): array
246
246
{
247
247
$ tokens = [];
248
248
$ token = '' ;
@@ -257,7 +257,7 @@ private function splitIntoTokens(string $string): array
257
257
$ substr = substr ($ string , $ pos , $ i );
258
258
if ($ this ->splitter ->isSplitter ($ substr )) {
259
259
260
- if ($ token !== "" ) {
260
+ if ($ token !== '' ) {
261
261
$ tokens [] = $ token ;
262
262
}
263
263
@@ -287,7 +287,7 @@ private function splitIntoTokens(string $string): array
287
287
*
288
288
* @return array
289
289
*/
290
- private function mergeQuotedStrings (array $ tokens ): array
290
+ protected function mergeQuotedStrings (array $ tokens ): array
291
291
{
292
292
$ token_count = \count ($ tokens );
293
293
$ i = 0 ;
@@ -324,7 +324,7 @@ private function mergeQuotedStrings(array $tokens): array
324
324
*
325
325
* @return array
326
326
*/
327
- private function clearSpaces (array $ tokens ): array
327
+ protected function clearSpaces (array $ tokens ): array
328
328
{
329
329
$ toReturn = [];
330
330
@@ -346,7 +346,7 @@ private function clearSpaces(array $tokens): array
346
346
*
347
347
* @return array
348
348
*/
349
- private function removeLeadingTrailingOperators (array $ tokens ) : array
349
+ protected function removeLeadingTrailingOperators (array $ tokens ): array
350
350
{
351
351
$ arrayTouched = false ;
352
352
$ 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
376
376
*
377
377
* @return array
378
378
*/
379
- private function cleanStackedOperators (array $ tokens ): array
379
+ protected function cleanStackedOperators (array $ tokens ): array
380
380
{
381
381
$ toReturn = [];
382
382
@@ -426,7 +426,7 @@ private function cleanStackedOperators(array $tokens): array
426
426
*
427
427
* @return array
428
428
*/
429
- private function addMissingAndOperators (array $ tokens ): array
429
+ protected function addMissingAndOperators (array $ tokens ): array
430
430
{
431
431
$ toReturn = [];
432
432
@@ -465,7 +465,7 @@ private function addMissingAndOperators(array $tokens): array
465
465
*
466
466
* @return array
467
467
*/
468
- private function process (array $ tokens , string $ tokenToFind , string $ characterToReplace ): array
468
+ protected function process (array $ tokens , string $ tokenToFind , string $ characterToReplace ): array
469
469
{
470
470
$ toReturn = [];
471
471
@@ -524,7 +524,7 @@ private function process(array $tokens, string $tokenToFind, string $characterTo
524
524
*
525
525
* @return array
526
526
*/
527
- private function processNot ($ tokens ): array
527
+ protected function processNot ($ tokens ): array
528
528
{
529
529
$ toReturn = [];
530
530
@@ -547,7 +547,7 @@ private function processNot($tokens): array
547
547
*
548
548
* @return string
549
549
*/
550
- private function finalClean (string $ string ): string
550
+ protected function finalClean (string $ string ): string
551
551
{
552
552
$ 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 );
553
553
$ output = preg_replace ('/\s\s+/ ' , ' ' , $ output ); // Remove double spaces
0 commit comments