Следить за заменой слов — ссылка

Привет! Недавно я использовал функцию «Замена слов при просмотре» вместо устаревшего компонента темы «Связать слова».

Это работает отлично. Однако один из пользователей сообщил, что получает всплывающее предупреждение о том, что ссылка уже использовалась в теме. При этом пользователь не публикует ссылку — это системная функция. У пользователя не должно возникать таких неудобств.

4 лайка

О, это очень интересный пограничный случай. Я поддерживаю его улучшение.

2 лайка

Спасибо за отчет об ошибке. Исправление для этого частного случая было реализовано в этом PR:

4 лайка

Пожалуйста, и спасибо за быстрое исправление.

:clinking_beer_mugs::smiling_face_with_sunglasses::+1::sparkles:

Единственная другая небольшая проблема, которую я обнаружил, заключается в том, что если замена ссылки на слово является частью имени пользователя, то часть упоминания @ в их имени заменяется на ссылку.

1 лайк

Кажется, это недавно исправили?

Обновление

Я только что проверил на своём тестовом сайте: хотя в тестовом поле показывается совпадение и замена, в «реальном» посте замена не происходит. (Слово для замены = *one)

1 лайк

Это должно быть очень свежим, так как мне пришлось отключить одну ссылку.

Проверю и дам знать. Спасибо.

1 лайк

Хорошо, вот мой тест после внедрения lnk для Pimax. Часть имени пользователя pimaxquorra заменена на lnk

Работает стабильно

1 лайк

А, возможно, именно поэтому. Я использую ветку tests-passed, и обновления для неё выходят чаще.

Хотя я заметил, что ваша ссылка нацелена только на часть имени пользователя/слова, а не на всё целиком, как у меня. Не исключено, что у вас тоже включена настройка «Следить за словами с использованием регулярных выражений»? Это может влиять.

1 лайк

В настройках у меня указано следующее:

Искомое слово: pimax

Заменить на ссылку.

Есть ли способ, чтобы аргумент срабатывал только для самого слова?

Например: ‘pimax’ = замена на ссылку
‘pimaxes’ = не заменять, так как есть лишние буквы

То же самое касается имён пользователей или других составных и дефисных слов.

У меня Steam настроен как ссылка, и в случае со SteamVR он заменяет часть ‘Steam’ в слове SteamVR на ссылку.

1 лайк

Я понял, что проблема возникала, когда был включен параметр watched_words_regular_expression. Я думаю, что у меня есть более эффективное решение этой проблемы, которое станет доступно в ветке tests-passed после слияния PR:

4 лайка

Отлично. Хотя нужно будет подождать, пока это дойдёт до стабильной версии.

Спасибо, очень оперативно и быстро с исправлениями.

:clinking_beer_mugs::smiling_face_with_sunglasses::+1::sparkles:

1 лайк

Без включения опции watched words regular expressions это происходит автоматически. Мне пришлось добавить звёздочки-маски (*), чтобы ловить слово, которое является частью имени пользователя или более длинного слова.

С регулярными выражениями это можно сделать с помощью границ (\b). Например, \bsteam\b найдёт только ‘steam’, но не ‘steamVR’ или ‘somethingsteam’.

Я могу воспроизвести частичную замену, если в настройках администратора включена опция watched words regular expressions, так что, возможно, стоит это проверить?

1 лайк

Отлично, проверено в обеих версиях, тесты пройдены.

В стабильной версии есть только замена, без отдельной настройки ссылки в «Следящих словах».

С включённой или выключенной регулярной заменой функция «Следящие слова» не работает с паттерном /bword/b. Более того, для распознавания слова необходимо указывать именно /bword/b, а не просто слово.

В тестовой версии всё работает без необходимости указывать /bword/b в настройках «Следящих ссылок».

Похоже, остаётся только дождаться, когда тестовая версия станет стабильной.

1 лайк

Ах, я думал, вам не хватает только исправления для @упоминаний. Ну ничего, обновление «Следящие слова» звучит так, будто в нём есть несколько полезных доработок для вас, когда вы его получите. :slightly_smiling_face: Надеюсь, это не займёт долгого времени. :crossed_fingers:

1 лайк

Действительно, можно поэкспериментировать с некоторыми новинками на нашем тестовом сервере, где тесты уже пройдены. К сожалению, наш основной сервер работает на стабильной версии. Есть ряд улучшений, которые я не могу дождаться, пока они появятся в стабильной ветке. :star_struck:

1 лайк

Эта тема была автоматически закрыта через 2 дня. Новые ответы больше не принимаются.