https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=22344

--- Comment #4 from David Cook <[email protected]> ---
So I wrote the following code:

#Negative lookbehind regex: matches only if the preceding character is not a
backslash
$v =~ s#(?<![\\])\Q(\E#\Q\(\E#g;
$v =~ s#(?<![\\])\Q)\E#\Q\)\E#g;

And I added it into the following block:

          if ( $k !~ /mc-i(tem)?type/ ) {
                # in case the mc-ccode value has complicating chars like ()'s
inside it we wrap in quotes
                $this_limit =~ tr/"//d;
                #Negative lookbehind regex: matches only if the preceding
character is not a backslash
                $v =~ s#(?<![\\])\Q(\E#\Q\(\E#g;
                $v =~ s#(?<![\\])\Q)\E#\Q\)\E#g;
                $this_limit = $k.":'".$v."'";
            }

That fixed the search. Zebra returned the correct results. However, it did make
the $limit_desc not look nice and it updated the $limit_cgi too, so the escaped
value continues to propagate through as one uses facets and pages and so on.
Fortunately, the regex prevents double-escapes, so nothing breaks, but it's a
little ugly. 

Ugly is probably better than broken in any case.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.
_______________________________________________
Koha-bugs mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to