Skip to content

Commit 50df885

Browse files
committed
Optimisations
- Fixed foreign characters not supported. - Changed methods access level to protected so they can be overwritten if needed.
1 parent 2167ebd commit 50df885

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

src/Pecee/BooleanQueryParser/BooleanQueryParser.php

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class 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

Comments
 (0)