Мне интересно, как отобразить данные, хранящиеся в базе данных в виде форматированного текста. Я могу поместить данные в базу данных, но она сохраняет их в виде кода. Я хочу, чтобы он отображался как форматированный текст с использованием PHP. Например, если один из моих пользователей вводит химическую формулу CO2 с 2 подписками, он будет сохранен в базе данных MySQL как код:
CO<sub>2</sub>
Я не хочу, чтобы этот код был отражен. Вместо этого я хочу форматированный текст «CO2«Это должно быть отражено. Возможно ли это, и если да, то как? Я хотел бы, чтобы вся разметка расширенного текста отображалась вместо фактического форматированного текста, а не кода.
Оказывается, что PHP-скрипт правильно отображает текст, но мой пользовательский интерфейс (приложение HTML5 / javascript) берет отформатированный текст и записывает его в виде кода. Короче говоря, эхо работает в php. Теперь мне просто нужно выяснить, как заставить мое внешнее приложение показывать текст как расширенный текст, а не код.
Перед вставкой в вашу базу данных используйте htmlspecialchars ($ string);
Пример:
$string = "CO<sub>2</sub>";
$stringToInsert = htmlspecialchars($string);
После вставки $ stringToInsert в вашу базу данных, вы можете распечатать на своей странице следующим образом:
$decodedString = htmlspecialchars_decode($stringToInsert);
echo $decodedString;
Я предпочитаю использовать htmlspecialchars вместо htmlentities для этого случая.