Всем привет,
У меня возникла проблема с функцией «Слежение за словами» (Замена) на нашем форуме о здоровье, и я хочу узнать, не сталкивался ли кто-нибудь с этим и нашёл ли решение.
Суть проблемы: Мы используем «Слежение за словами» для автоматического раскрытия медицинских аббревиатур в целях доступности (например, MGUS → Моноклональная гаммапатия неясного генеза (MGUS)). Это работает идеально в первоначальном посте, но когда кто-либо редактирует этот пост позже, замена выполняется снова, что приводит к вложенной рекурсии, как в этом примере:
Моноклональная гаммапатия неясного генеза (Моноклональная гаммапатия неясного генеза (MGUS))
При каждом последующем редактировании добавляется ещё один уровень ![]()
Что я уже пробовал:
-
Добавление кавычек вокруг аббревиатуры:
(term)→('term')— рекурсия всё равно происходит. -
Использование HTML-сущностей с включённой опцией «Выводить HTML в замене» — текст полностью исчезает при редактировании.
-
HTML-теги span — отображается как обычный код, и рекурсия сохраняется.
Я понимаю, что можно просто убрать аббревиатуру из текста замены, но важно, чтобы аббревиатура оставалась видимой в постах как для внутреннего поиска на форуме, так и для внешнего SEO. Аббревиатуры — это то, как большинство людей на самом деле говорят об этих состояниях, и если мы будем показывать только раскрывшийся термин, поиск не будет находить соответствующие обсуждения.
Так что, я думаю, мой вопрос заключается в следующем: существует ли способ раскрывать аббревиатуры так, чтобы это работало при редактировании постов без рекурсии, при этом сохраняя аббревиатуру видимой для поисковой оптимизации?