Lines 938-951
sub _clean_search_term {
Link Here
|
938 |
if ($count % 2 == 1) { |
938 |
if ($count % 2 == 1) { |
939 |
$term = $unquoted; |
939 |
$term = $unquoted; |
940 |
} |
940 |
} |
941 |
|
|
|
942 |
# Remove unquoted colons that have whitespace on either side of them |
943 |
$term =~ s/(:+)(\s+)$lookahead/$2/g; |
944 |
$term =~ s/(\s+)(:+)$lookahead/$1/g; |
945 |
$term =~ s/^://; |
946 |
|
947 |
$term = $self->_query_regex_escape_process($term); |
941 |
$term = $self->_query_regex_escape_process($term); |
948 |
|
942 |
|
|
|
943 |
# remove leading and trailing colons mixed with optional slashes and spaces |
944 |
$term =~ s/^([\s\\]*:\s*)+//; |
945 |
$term =~ s/([\s\\]*:\s*)+$//; |
946 |
# remove unquoted colons that have whitespace on either side of them |
947 |
$term =~ s/([\s\\]*:\s*)+(\s+)$lookahead/$2/g; |
948 |
$term =~ s/(\s+)([\s\\]*:\s*)+$lookahead/$1/g; |
949 |
# replace with spaces all repeated colons no matter how they surrounded with spaces and slashes |
950 |
$term =~ s/([\s\\]*:\s*){2,}$lookahead/ /g; |
951 |
# screen all followups for colons after first colon, |
952 |
# and correctly ignore unevenly backslashed: |
953 |
$term =~ s/((?<!\\)(?:[\\]{2})*:[^:\s]+(?<!\\)(?:[\\]{2})*)(?=:)/$1\\/g; |
954 |
|
949 |
return $term; |
955 |
return $term; |
950 |
} |
956 |
} |
951 |
|
957 |
|
952 |
- |
|
|