2 votes

enregistrement d'un texte formaté dans une base de données mysql

J'ai une zone de texte et j'utilise l'éditeur WYSIWYG pour que les utilisateurs puissent formater le texte comme ils le souhaitent : changer les couleurs, mettre en gras, changer la taille, etc. Le problème est qu'après avoir inséré les données dans le tableau et récupéré les lignes, je ne vois pas le formatage, juste du texte brut. Y a-t-il quelque chose que je devrais faire lorsque j'insère le texte pour ne pas perdre le format ? mon tableau collation est fixé à utf8_unicode_ci

Voici le html et j'utilise ajax pour envoyer le formulaire donc je n'ai pas d'attribut name.

<textarea  id="description" class="jqte-test" ></textarea>

La requête d'insertion est la suivante :

$desc = trim(strip_tags($_POST["description"]));
$insert = $mysqli->prepare("insert into `test`(`description`) values(?)");
echo $mysqli->error;
$insert->bind_param('s', $desc);
$insert->execute();

5voto

sUP Points 602

strip_tags est utilisé pour supprimer les balises html/php d'une valeur.

Je suppose que l'éditeur WYSIWYG que vous utilisez produit des données html, de sorte qu'en utilisant la fonction strip_tags, vous annulez le formatage.


UPDATE : lorsque vous liez un paramètre à une requête par l'intermédiaire de pdo, les données insérées sont escamotées.

lors de l'insertion des données appliquer htmlspecialchars ($value, ENT_QUOTES)

et lors de l'affichage des données, appliquer htmlspecialchars_decode ($value, ENT_QUOTES)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X