Я создаю форму с текстовой областью, использующей TinyMCE.
Когда форма отправлена, она отправляет информацию с помощью POST в сценарий PHP.
В этом PHP я пытаюсь сохранить информацию из TinyMCE в базе данных с помощью MeekroDB.
Дело в том, что MeekroDB хранит мой HTML из TinyMCE следующим образом:
Есть ли способ сохранить нормальный HTML?
Это мой код:
DB::query("INSERT INTO products (title, price, article_nr, description, adicional_info, active, sold)
VALUES (%s, %s, %s, %s, %s, %s, %s)",
$query_data['title'],
$query_data['price'],
$query_data['article_nr'],
$query_data['description'],
$query_data['adicional_info'],
$query_data['active'],
$query_data['sold']
)
Уже пробовал вот так:
DB::query("INSERT INTO products (title, price, article_nr, description, adicional_info, active, sold)
VALUES (%s, %s, %s, %l, %l, %s, %s)",
$query_data['title'],
$query_data['price'],
$query_data['article_nr'],
$query_data['description'],
$query_data['adicional_info'],
$query_data['active'],
$query_data['sold']
)
но возвращает ошибку.
HTML хорошо закодирован при использовании $ _POST. Он изменяется только при отправке в базу данных с помощью MeekroDB.
К сожалению, я не могу найти никакой информации об автоматическом преобразовании из HTML в кодировку сущностей. При этом в PHP есть удобная функция html_entity_decode(), которая может оказаться вам полезной.






Привет @Alexandre Cristo!
Meekrodb - одна из хороших библиотек mysql для php. Я начал свою работу с meekrodb незадолго до месяца.
Итак, ваш ответ:
Вы можете сделать это, выполнив запрос в #meekrodb.
// MeekroDB lets you INSERT with a very simple format. You can tell at a glance if everything is right.
$data = array(
'name' => $name,
'address' => $address,
'full_description' => $full_description
)
DB::insert('mytable', $data);
Итак, это решение для вставки источника html в базу данных с использованием библиотеки meekrodb. Я делал это много раз для вставки источника html в базу данных.
Здесь вам нужно будет проверить некоторые данные: Как выглядят данные при вводе в TinyMCE? Сразу после получения, перед отправкой на сервер? На стороне сервера перед внесением в базу данных? Когда вы извлекаете его из базы данных? Когда вы разместите это на странице? Представление данных где-то нестабильно, но оно может прерываться в любой из этих точек и будет иметь разные последствия в зависимости от того, в какой точке. Определите, где вы впервые видите HTML-код в экранированной форме, чтобы мы могли еще больше сузить проблему.