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