Texte en exposant dans BDD mysql

Fermé
Anthouny Messages postés 20 Date d'inscription mardi 1 juillet 2014 Statut Membre Dernière intervention 8 mars 2015 - 27 févr. 2015 à 17:05
 Utilisateur anonyme - 27 févr. 2015 à 23:38
Bonjour,

Je viens vers vous afin de vous demander une petite aide, car je suis loin d'être doué dans ce domaine,

J'ai fais un site internet qui selon le jour affiche un message différent sur la page d'accueil, tout est enregistrer dans une BDD et cela marche très bien, par contre là où je suis perdu et sur la mise en forme d'un texte,

Je dois afficher 3 lettres en exposant (exemple : 2ème, ème doit être en exposant) mais quand dans ma balise via phpmyadmin je marque <sup>ème</sup> rien ne change et sur mon site le texte apparaît avec les balises <sup></sup> sans mettre le texte en exposant,

Si quelqu'un à une astuce je suis preneur,

Merci à vous :)
A voir également:

3 réponses

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
27 févr. 2015 à 19:02
Bonjour,

J epense que votre texte est enregsitré en base de données via un traitement qui filtre les tags HTML. Par exemple, <br> sera transformé en <br>

L'astuce, enregistrez [exp] et /exp et à l'affichage vous faites un str_replace de [exp] en <exp>....

A+
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 27/02/2015 à 20:17
Vous devez enregistrer ceci:

$str= " Exemple de texte [sup]en exposant[/sup]";


dans la base de données. Ensuite, quand vous ressortez la chaîne, vous faites:

$search   = array('[',']');
$replace  = array('<','>');
echo str_replace($search, $replace, $str);


A+;
0
Utilisateur anonyme
27 févr. 2015 à 23:38
Bonjour

Je pense comme mpmp93 que tu as quelque part dans ton traitement quelque chose qui transforme les balises html. Pas forcément avant l'enregistrement dans la base de données, d'ailleurs.
Mais la solution logique, ce n'est pas d'ajouter une nouvelle transformation supplémentaire, c'est de supprimer la transformation nuisible. Pourquoi s'obliger à écrire [sup] quand on veut écrire <sup> ? Et comment feras-tu quand tu voudras vraiment écrire un texte avec des [ et des ] ? Tu ne pourras pas, il seront transformés en < et en >. Alors tu ajouteras encore un autre codage ?
Si tu as fait toi-même ce site comme tu sembles le dire, tu as dû utiliser les fonction htmlentities ou htmlspecialchars sans trop chercher à comprendre à quoi elles servaient vraiment, c'est autour de ces fonctions là qu'il faut chercher. Peux-tu donner le code qui te sert à enregistrer les infos dans la base de données, et celui qui te sert à le ressortir et à l'afficher, si ce n'est pas trop long ?
0