couleur html

surfeur22
Invité n'ayant pas de compte PHPfrance

28 janv. 2015, 09:26

Bonjour,

Je récupère du code html depuis une base de donnée et je le place dans un textarea voir code ci-dessous:

Code : Tout sélectionner

<textarea name="TexteCuisine" id="TexteCuisine" cols="45" rows="15"> <?php $sql = "SELECT TexteCuisine FROM Smenu"; $result = $mysqli->query($sql); $ligne = $result->fetch_assoc(); echo $ligne["TexteCuisine"]; mysql_close($mysqli); ?> </textarea>
Mon problème est le suivant: J'aimerai coloré le code html en bleu par rapport au texte normal!

Merci d'avance pour votre réponse!

ViPHP
xTG
ViPHP | 7331 Messages

28 janv. 2015, 11:20

C'est du code HTML/CSS et non du PHP dans ce cas.
Voici une façon de faire :
echo '<span style="color:blue;">' . $ligne["TexteCuisine"] . '</span>';

surfeur22
Invité n'ayant pas de compte PHPfrance

28 janv. 2015, 11:55

Le code html ainsi que le texte sont enregistrés dans la base de donnée!

et le contenu est ensuite affiché à l'aide de la commande echo....

si je rajoute
C'est du code HTML/CSS et non du PHP dans ce cas.
Voici une façon de faire :
echo '<span style="color:blue;">' . $ligne["TexteCuisine"] . '</span>';
dans ce cas dans le textearea on voit : <span style="color:blue;"> + le contenu (c'est à dire le texte + le code html) --> le tout en noir!

il faudrait scanner lettre par lettre le contenu qui est enregistré dans la base de donnée (tester s'il y a des chevrons < et des chevrons >) et réussir ensuite à afficher le code html seulement (et pas le texte) en bleu dans le textarea!

c'est pas du codage facile...

ViPHP
ViPHP | 928 Messages

28 janv. 2015, 12:24

Salut,

Tu ne peux pas afficher de HTML dans un textarea. Il y a deux façons d'arriver à tes fins, les deux impliquant une grosse dose de Javascript :
- Soit tu utilises un éditeur WYSIWYG, il y a pas mal de librairies qui existent, mais attention c'est pas forcément simple à maîtriser
- Soit tu fais comme Facebook lorsque tu tags un utilisateur en écrivant un message en synchronisant du code HTML dérrière ton textarea qui serait en transparent, mais je ne connais pas de lib qui fait ça donc il faut le coder soit même

Ou sinon, si tu n'as pas forcément besoin que ton texte soit éditable, n'utilises pas de textarea :)

++

ViPHP
xTG
ViPHP | 7331 Messages

28 janv. 2015, 14:30

Mea culpa, j'avais légèrement un peu trop, totalement, lu en diagonale et méprisé cette pauvre balise textarea. #-o

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

28 janv. 2015, 16:35

Bonjour surfeur22,

Pour les textarea en Wysiwyg, regarde du côté de ckeditor ou TinyMCE .

La mise en place de TinyMCE si tu veux juste tester est très simple, il suffit d'ajouter les 2 lignes suivantes dans l'entête (<head>...</head>) de ta page qui contient ton formulaire :
<script src="//tinymce.cachefly.net/4.1/tinymce.min.js"></script>
<script>tinymce.init({selector:'textarea'});</script>
Après il y a pas mal d'options pour personnaliser ce textarea, afficher/retirer les barres d'outils, etc...
Quand tout le reste a échoué, lisez le mode d'emploi...