В настоящее время я пытаюсь реализовать функциональность глоссария для одного из моих веб-проектов, это все о:
Основная проблема, о которой я думаю, – это производительность поиска в основном динамическом содержимом. Мой первый подход загрузил все слова из глоссария в массив и search'n'replaced их со ссылками на PHP, используя регулярное выражение.
Проблема 1: Запрос
Загрузка до 3.000 кортежей базы данных каждый раз, когда кто-то обновляет страницу, не кажется хорошей идеей.
Проблема 2: Поиск
Похоже, что такие длинные циклы с регулярными выражениями с PHP тоже не являются хорошей идеей.
Решение 1. Кэшированный JavaScript
Моя первая и единственная идея состоит в том, чтобы генерировать список слов и синонимов на основе javascript и использовать JavaScript для замены с использованием регулярных выражений.
Последний вопрос
Является ли мое решение хорошей идеей и единственным решением, которое может работать?
Некоторые идеи: Храните слова в json-файле и клиентский кеш-файл. Замените слова при сохранении в ваших cms. Создавать ссылки в генерации между вашим cms и кешем сервера?