Ломается отображение цветного текста/таблиц при включении полнотекстового поиска по полю

ЕСТЬ РЕШЕНИЕ InstantCMS 2.X
#1 Вчера в 11:45

Версия 2.17.3, развернута на сервере компании и у меня локально.

Отличается БД, версия PHP и Apache

Изображение

Так вот, при одинаковых настройках поля типа «Текст HTML», если нарисовать, например, цветную таблицу, получаем следующее (внимание на окно на заднем фоне):

Изображение

Настройки полей

Изображение

На заднем фоне сервер с MariaDB / php 7.4. На переднем — MySQL / php 8

  • Если цвет начинается с "# + Буква", например #F1C40F — всё ломается, как на картинке выше.
  • Если цвет начинается с "# + Цифра", например #236FA1 — таблица рисуется корректно (верхняя таблица на фото).
  • Если цвет указать текстом, например «red» — таблица рисуется корректно.
  • Если выключить «Участвует в полнотекстовом поиске» у поля, то отображение работает корректно на любых цветах.
  • Если включить «Участвует в полнотекстовом поиске» у поля, то отображение ломается. Достаточно просто обновить страницу с постом.

Вопрос: Как вычислить виновного?

Может, будут идеи, как всё починить, не перенося сервер на новое ПО:) Полнотекстовый поиск, конечно же, нужен.

PS. Пока решили, что проще поднять сервер с нуля на более свежем ПО, но хочется же разобраться.

PPS. Отображение цветного текста ломается точно так же.

#2 Вчера в 11:55

В настройках компонента «Поиск» убрать галочку 

Изображение

#3 Вчера в 12:50

Неожиданно. Что я потеряю, когда выключу? На сколько я понимаю, обычные теги продолжат работать же...

Сегодня в 09:21
#4 Вчера в 14:45

А попробуйте в этой строке github.com/instantsoft/icms2/blob/master/system/controllers/search/frontend.php#L23 поменять регулярку на такую

  1. \B(?<!\<.*:\s*)#([а-яёa-z]{1}[а-яёa-z0-9\-_]{3,19})(?!\.*>)

чтобы она стала такой

  1. if (preg_match_all('/\B(?<!\<.*:\s*)#([а-яёa-z]{1}[а-яёa-z0-9\-_]{3,19})(?!\.*>)/ui', $text, $match) && !empty($match[1])) {

при этом оставте галочку включенной. Интересно, поправится или нет эта фича?

Что я потеряю, когда выключу?

Petrovich

Потеряете поиск по хештегам. Стандартные теги с этим не связаны.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожие темы

Похожее в блогах

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.