Достаточно для оптимального способа.
Это байты BOM. Перекодируйте файлы в utf-8 без BOM или в windows-1251.
async false
Полнотекстовой поиск в админке нафиг не нужен.
Чтобы передать "JSON объект" нужно писать соответствующий конструктор. В данном случае у ТС'а один текстовой инпут.
Не надо дергать регулярку - там все нормально. Копайте свою строку.
http://php.net/manual/ru/regexp.reference.escape.php
Не правильно думайте, так как это может быть и строка, а может быть наоборот число которое нужно искать в подстроке.
И на форуме утф. А ваше выражение возможно приходит в другой кодировке. Хотя это в порядке бреда, так как если я не ошибаюсь эти символы кодируются одинаково и в cp1251. Смотрите побайтого на строку.
И немного изварата
'/(^|[&]{2}|[|]{2})\s*(\(*)\s*:([\w_]+)\s*([<>=]{1,2})\s*(["\'].*?["\']|[^\s()]+)\s*(\)*)/'
чтобы разбить выражение на составляющие и написать свой конструктор
Array( [0] => Array ( [0] => :name=первая [1] => && (:id>40 [2] => && :sect=content) ) [1] => Array ( [0] => [1] => && [2] => && ) [2] => Array ( [0] => [1] => ( [2] => ) [3] => Array ( [0] => name [1] => id [2] => sect ) [4] => Array ( [0] => = [1] => > [2] => = ) [5] => Array ( [0] => первая [1] => 40 [2] => content ) [6] => Array ( [0] => [1] => [2] => ) ))
А если нужно точное совпадание? Я бы использовал id==40 для точного поиска без %%.
Возможно символы <> кодируются по разному в разных кодировках (как вариант).
http://sandbox.onlinephpfunctions.com/
Хз. Попробуйте чтоли экранировать эти символы в регулярным выражении.