Текстовые поля не подходят для форматированного текста.
Почему бы вам просто не разбить столбец F на 2 или более столбцов, сделать их меньше и, например, позволить значению ячейки перекрывать столбцы, где вы вычеркнуты черным? При необходимости вы также можете объединить ItemName поверх столбца F в H (в приведенном ниже примере).
Как правило я всегда пытаюсь остаться максимально далеко от оценки (). Этот случай, однако, похож на хорошего кандидата на него.
Вы говорите, что "нет никакого шанса небезопасного кода, вводимого", таким образом, большой вопрос: существует ли шанс нерабочего кода, находящегося в базе данных?
В противном случае оценка () является решением, но если существует затем надлежащий парсинг, и регистрация ошибок / и т.д. могла бы быть более безопасной ставкой. (я полагаю, что использование call_user_func_array () быстрее в теории, таким образом, любой парсинг наверху мог бы стать незначительным),
Хранение PHP в базе данных является плохим запахом дизайна сам по себе; даже при том, что в этом случае Вы вполне уверены, это никогда не может содержать небезопасный код, всегда хорошо минимизировать количество предположений или обороноспособности как этот, необходимо сделать. При хранении кода PHP в базе данных то нападение, в котором взломщик получает доступ к базе данных быстро, становится намного более серьезным, превращаясь в нападение, в котором взломщик может выполнить произвольный код! Я знаю, что взлом Вашей базы данных как это очень маловероятен, но тем не менее это - хорошая практика безопасности, чтобы не позволить даже маловероятной ситуации поставить под угрозу Вашу систему больше, чем это должно.
Многие люди соглашаются, что оценка () всегда должна, без исключения, избежаться в коде PHP. Всегда существует альтернатива.
В этом случае, однако, я думаю, что должен был бы сказать, что использование оценки () будет лучшим решением для Вас, потому что Вы уже храните код PHP в DB, таким образом использование оценки () не собирается увеличивать Ваш риск дальше, чем это.
Я, однако, рекомендовал бы это
Я сожалею, если этот ответ кажется немного реакционным; я просто, оказывается, чувствую, что этот вид вещи очень важен.
Используйте оценку (). Что-либо еще не стоит усилия - они не имели бы никаких эффектов положительной стороны.
Я думал бы, что парсинг добавит наверху, но единственный способ, которым можно быть уверены, состоит в том, чтобы запустить тесты он. Попробуйте его оба пути различными функциями и посмотрите, каковы Ваши результаты. Используйте код, который представляет то, что Вы ожидаете хранить.
Удачи!
Вы могли бы хотеть смотреть на runkit расширение, которое может выполнить php в песочнице, не производящей под управлением код.
Если код, предполагают для осуществления под управлением кода, пойдите для оценки ().
Необходимо перенести код, который Вы собираетесь выполнить в блоке попытки/выгоды также, в случае, если существует ошибка (даже при том, что Вы сказали, что не будет, существует возможность, и это - лучшая практика),