Как вставить исходный код в мою базу данных, а затем повторить его внутри значения

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

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

Нравится:

<input type = "hidden" name = "content" value = "'.$getversion['content'].'">

Это прекрасно работает, как я уже сказал, когда печатал сам.

Но если я, например, скопирую какой-нибудь текст lorem ipsum с веб-сайта, он скопирует с ним стиль (размер шрифта, цвет и т. д.).

Это сохраняется так:

<p style = "margin: 0px 0px 15px; padding: 0px; text-align: justify; font-family: 'Open Sans', Arial, sans-serif;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis libero erat, tincidunt id placerat vel, vehicula at mauris. Morbi nibh sapien, lacinia ultricies urna dapibus, placerat suscipit risus. Maecenas vulputate, ante at blandit aliquam, ante arcu sollicitudin diam, vitae commodo metus mi nec purus. Nullam a cursus justo, eget venenatis dolor. Etiam condimentum a lectus nec volutpat. Ut sodales vestibulum urna, sed eleifend est. Praesent diam nisl, fermentum a orci ac, viverra efficitur dui. Nam eget nulla ante. Suspendisse feugiat tortor non egestas sodales. Morbi id vestibulum nisl. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p>
<p style = "margin: 0px 0px 15px; padding: 0px; text-align: justify; font-family: 'Open Sans', Arial, sans-serif;">Mauris placerat rhoncus metus eu accumsan. Nulla porta tempor tincidunt. Aliquam commodo massa ac ullamcorper ullamcorper. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras at ante consectetur, dictum metus auctor, viverra lectus. Mauris tincidunt libero nunc, eu mattis quam rhoncus in. Curabitur ut purus diam. Maecenas posuere elit eget consectetur consequat. Quisque vulputate a magna ac finibus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas ligula nisi, faucibus sed sodales eu, bibendum eu est. Integer blandit velit eget dui fermentum euismod. Maecenas finibus aliquet sem at auctor.</p>

Как видите, он ломается из-за цитат:

Как вставить исходный код в мою базу данных, а затем повторить его внутри значения

Что я могу с этим поделать?

Я прочитал, что мне нужно снова использовать real_escape_string (я уже использую его при сохранении), когда повторяю его, но это не исправляет.

Я также должен упомянуть, что публикую его с помощью ajax.

real_escape предназначен для экранирования символов, специальных для SQL (также несвязанных, но подготовленных операторов, с параметризованными запросами - это то, что вы должны использовать для взаимодействия с БД). Используйте htmlspecialchars для вывода в браузер, также посмотрите константы для этой функции.
user3783243 28.08.2018 19:31
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
30
1

Ответы 1

Когда вы сохраняете в db, сделайте это ...

htmlentities($str);

при выводе из базы данных сделайте это ...

echo html_entity_decode($str);
When you are saving to the db Нет, не делайте этого. Это открывает SQL-инъекции. Ваш объект декодирования также открывает инъекции XSS.
user3783243 28.08.2018 19:40

Другие вопросы по теме