Замена строковых констант из панели администрирования. Подводные камни?
Контекст:
Есть сайт, php под CodeIgniter. Сайт включает в себя файл конфигурации с сотнями строковых констант и множество файлов .html с тысячами строковых констант.
Задача:
Реализовать в панели администратора функциональность для изменения внутренностей строковых констант.
Варианты решения:
1. Вынести все строковые константы в БД/файл, кешировать.
+ легко построить нужную функциональность в админке; скорость админки; возможность простого внешнего редактирования. Относительно легко будет сделать сайт мультиязычным.
— медленно будет работать шаблонизатор (много подмен плохо на нем сказываются); сложно переносить все в БД (ключи выдумывать, за коллизиями следить).
2. Реализовать что-то типа search/replace. Администратор вводит текст, который он увидел на сайте и хочет заменить. Функция ищет все вхождения, выдает список файлов с соответствующим текстом и дельта-окрестностью. И соответственно предлагает менять.
+ просто в реализации; не требует структурных изменений; удобней для точечных изменений.
-???
Вопросы:
1. Какие могут быть недостатки для второго варианта решения?
2. Другие варианты?
Доп. вопрос:
Есть ли возможность выбирать и вставлять текст из браузера с учетом верстки/разметки. Если пользователь копирует аб, нужно чтобы в буфере обмена оказалось именно "а<b>б</b>" а не "аб".
> Есть ли возможность выбирать и вставлять текст из браузера с учетом верстки/разметки. Если пользователь копирует аб, нужно чтобы в буфере обмена оказалось именно «аб» а не «аб».
Есть везде, кроме Оперы. В Опере (подозреваю) можно сделать костыль в виде превращения куска страницы в contentEditable
Не знаю, есть ли статья на эту тему, но вы можете убедиться в этом на практике: открыть в Фаерфоксе или Хроме любой сайт, выделить и скопировать кусок страницы и вставить в ворд или HTML-редактор вроде TinyMCE — все форматирование сохраняется (то есть копируется именно HTML-код). Также, при вставке из ворда в HTML-редактор вроде TinyMCE форматирование сохраняется.