Des couleurs dans le texte

All contributions published for previous SPIP versions

Ce filtre crée de nouveaux raccourcis qui permettent d’insérer de la couleur dans vos textes.

Installation

Copier / coller le script suivant dans le fichier mes_fonctions.php(3) situé à la racine de votre site :

/*
 *   +----------------------------------+
 *    Nom du Filtre : Couleur                                               
 *   +----------------------------------+
 *    Date : Vendredi 11 août 2003
 *    Auteur :  Aurélien PIERARD : aurelien.pierard(a)dsaf.pm.gouv.fr
 *   +-------------------------------------+
 *    Fonctions de ce filtre :
 *		Permet de modifier la couleur du texte
 *		Utilisation pour le rédacteur : [rouge]Lorem ipsum dolor sit amet[/rouge]
 * 		Utilisation pour le webmlaster : [(#TEXTE|couleur)]
 *   +-------------------------------------+ 
 *  
 * Pour toute suggestion, remarque, proposition d'ajout
 * reportez-vous au forum de l'article :
 * http://www.uzine.net/spip_contrib/article.php3?id_article=652
*/
function couleur($texte) {
         $texte = preg_replace("/(\[noir\])(.*?)(\[\/noir\])/", "<span style=\"color:black;\">\\2</span>", $texte);
         $texte = preg_replace("/(\[rouge\])(.*?)(\[\/rouge\])/", "<span style=\"color:red;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[marron\])(.*?)(\[\/marron\])/", "<span style=\"color:maroon;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[vert\])(.*?)(\[\/vert\])/", "<span style=\"color:green;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[vert olive\])(.*?)(\[\/vert olive\])/", "<span style=\"color:olive;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[bleu marine\])(.*?)(\[\/bleu marine\])/", "<span style=\"color:navy;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[violet\])(.*?)(\[\/violet\])/", "<span style=\"color:purple;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[gris\])(.*?)(\[\/gris\])/", "<span style=\"color:gray;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[argent\])(.*?)(\[\/argent\])/", "<span style=\"color:silver;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[vert clair\])(.*?)(\[\/vert clair\])/", "<span style=\"color:chartreuse;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[bleu\])(.*?)(\[\/bleu\])/", "<span style=\"color:blue;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[fuchia\])(.*?)(\[\/fuchia\])/", "<span style=\"color:fuchsia;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[bleu clair\])(.*?)(\[\/bleu clair\])/", "<span style=\"color:aqua;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[blanc\])(.*?)(\[\/blanc\])/", "<span style=\"color:white;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[bleu azur\])(.*?)(\[\/bleu azur\])/", "<span style=\"color:azure;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[beige\])(.*?)(\[\/beige\])/", "<span style=\"color:bisque;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[brun\])(.*?)(\[\/brun\])/", "<span style=\"color:brown;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[bleu violet\])(.*?)(\[\/bleu violet\])/", "<span style=\"color:blueviolet;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[brun clair\])(.*?)(\[\/brun clair\])/", "<span style=\"color:chocolate;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[rose clair\])(.*?)(\[\/rose clair\])/", "<span style=\"color:cornsilk;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[vert fonce\])(.*?)(\[\/vert fonce\])/", "<span style=\"color:darkgreen;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[orange fonce\])(.*?)(\[\/orange fonce\])/", "<span style=\"color:darkorange;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[mauve fonce\])(.*?)(\[\/mauve fonce\])/", "<span style=\"color:darkorchid;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[bleu ciel\])(.*?)(\[\/bleu ciel\])/", "<span style=\"color:deepskyblue;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[or\])(.*?)(\[\/or\])/", "<span style=\"color:gold;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[ivoire\])(.*?)(\[\/ivoire\])/", "<span style=\"color:ivory;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[orange\])(.*?)(\[\/orange\])/", "<span style=\"color:orange;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[lavande\])(.*?)(\[\/lavande\])/", "<span style=\"color:lavender;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[rose\])(.*?)(\[\/rose\])/", "<span style=\"color:pink;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[prune\])(.*?)(\[\/prune\])/", "<span style=\"color:plum;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[saumon\])(.*?)(\[\/saumon\])/", "<span style=\"color:salmon;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[neige\])(.*?)(\[\/neige\])/", "<span style=\"color:snow;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[turquoise\])(.*?)(\[\/turquoise\])/", "<span style=\"color:turquoise;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[jaune paille\])(.*?)(\[\/jaune paille\])/", "<span style=\"color:wheat;\">\\2</span>", $texte);
	 $texte = preg_replace("/(\[jaune\])(.*?)(\[\/jaune\])/", "<span style=\"color:yellow;\">\\2</span>", $texte);
	 return $texte;
}
// fin couleur

Utilisation

-  Pour le webmaster : Il suffit d’ajouter |couleur aux tags spip situé dans les squelettes (fichiers .html).

  • [(#TEXTE|couleur)]

-  Pour le rédacteur : Il suffit d’encadrer le texte à mettre en couleur des tags : [nom_couleur] & [/nom_couleur]

  • « Lorem [rouge]ipsum dolor sit[/rouge] amet, consectetuer adipiscing elit. »

-  Ce qui donnera le résultat suivant :

  • « Lorem ipsum dolor sit amet, consectetuer adipiscing elit. »

-  Autre exemple, le code suivant :

[rouge]Lorem[/rouge] [vert clair]ipsum[/vert clair] [jaune]dolor[/jaune] [bleu ciel]sit[/bleu ciel] [bleu violet]amet,[/bleu violet]

donnera :

Lorem ipsum dolor sit amet,

Liste des couleurs disponibles :

Nom de la couleurCouleur
noir Noir
marron ou rouge fonce Marron ou rouge fonce
vert Vert
vert olive Vert olive
bleu marine Bleu marine
violet Violet
cyan fonce cyan fonce
gris Gris
argent Argent
rouge Rouge
vert clair Vert clair
jaune Jaune
bleu Bleu
fuchia Fuchia
bleu clair Bleu clair
blanc Blanc
bleu azur Bleu azur
beige Beige
brun Brun
bleu-violet Bleu-violet
vert clair Vert clair
brun clair Brun clair
rose clair Rose clair
vert fonce Vert fonce
orange fonce Orange fonce
mauve fonce Mauve fonce
bleu ciel Bleu ciel
or or
ivoire Ivoire
orange Orange
lavande Lavande
rose Rose
prune Prune
saumon Saumon
neige Neige
turquoise Turquoise
jaune paille Jaune paille

updated on 16 September 2007

Discussion

9 discussions

  • Bonjour,

    Comment faire pour une installation sur spip2 avec les squelettes Ahuntsic SVP ? Merci.

    Reply to this message

  • 4

    Bonjour,
    Malheureusement, cela ne fonctionne pas avec la version 1.9.2 (à moins que je me trompe). Je me demandais s’il était possible d’adapter un plugin à cette fonction, on s’inspirant du tutorial que l’on trouve sur Spip.net concernant la réalisation d’un premier plugin!

    Mes premiers essais ne sont pas brillants: il ne se passe rien (il faut dire que j’ai juste copié collé le code dans un fichier coloriage_fonctions.php que j’ai rangé dans le dossier plugin...)

    Si quelqu’un est également intéressé pour développer cette solution...

    • Bon eh bien ça marche très bien.
      Mais il me semble qu’en plugin, ça serait formidable.

    • comme il a été dit plus bas, la fonction s’applique une seule et une fois. Si bien que sur un article un seul mot sera coloré tandis que tous les autres auront les balises avec les crochets de visibles.
      Je n’arrive malheureusement pas, comme il a été conseillé, de couper la commande egrep_replace en deux.

      C’est bien dommage tout ça.

    • Ce filtre marche parfaitement avec 1.9.2 (désolé pour tous ces revirements, mais une fonction ’éditer message’ manque cruellemnet).

      Cette fonction ajoutée à SPIP est splendide!!

    • Cette contrib a en effet été adaptée et étendue par le plugin : Le Couteau Suisse. Voir l’outils : ’Tout en couleurs’.

    Reply to this message

  • 2

    est ce que qqn peux miadé car jé 1 blog et jé envi de metre plusieur coleurs
    cet a dire de pssé du jaune a vert ou du nir a du rouge

    merci davance

    • Bonsoir.

      Avant de te répondre je me permet juste de te demander, par respect pour les lecteurs de ces forums d’éviter le langage sms lorsque tu souhaites poser une question. Pas que je veuille faire mon ch... mais c’est vraiment pénible à déchiffrer. Merci ;)

      Pour ta question, je crois que la fonction de texte en arc-en-ciel n’existe pas (encore) pour Spip. La seule solution qui te reste est donc d’installer cette contribution puis, lorsque tu rédigeras ton article, tu pourras si tu le souhaites donner une couleur par mot ou par lettre mais bon courage parce que ça va être fastidieux.

      Sinon, si tu n’as pas envie de te prendre la tête avec du code, tu peux ouvrir un blog sur un des nombreux services en ligne (Skyblog par exemple) qui eux proposeront la fonction de texte en arc-en-ciel par défaut.

      Bon courage

    • merci pour m’avoir répondu
      mais j’ai toujours pas compris comment faire ! (pas grave)

      si qqn a une idée ,svp allez y !
      merci

    Reply to this message

  • 1

    Bonjour,

    J’ai mis le code sur mon site (Spip 1.9.1), et je n’arrive pas à élucider un mystère : le filtre pour la couleur ne s’applique qu’une seule fois, quelles que soient les couleurs utilisées, l’ordre d’utilisation, etc. La première occurence d’un tag de couleur est bien remplacée comme il faut, mais ensuite, rien.

    Je n’ai trouvé strictement aucune raison logique à ça. Quelqu’un aurait-il eu le même problème ou peut-être une explication ?

    Merci beaucoup :)

    • Bon ben j’ai pas vraiment trouvé l’explication, mais j’ai réussi à résoudre mon problème en réécrivant la fonction (non non, c’est pas bourrin ;p). Au lieu d’utiliser un preg_replace par couleur, j’en utilise deux. Je convertis d’un côté le tag “entrant”, et de l’autre le tag “sortant”. C’est pas très sexe, mais ça fonctionne...

    Reply to this message

  • Pour info, le code proposé dans cette contrib contenanit une petite boulette. le tag [bleu] renvoyait initialement du jaune. Je viens de le corriger, pour ceux qui veulent le recopier dans leurs fichiers mes_options.php...

    En ce qui concerne l’utilisation de cette contrib sous Spip 1.9, j’ai eu un bug étrange il y a quelques temps : j’ai tout simplement perdu une couleur. Le rouge ne voulait plus s’afficher normalement, il a fallu que je ré édite mon fichier pour remplacer le nom de la couleur par son code Hexadécimal.

    Je crois que c’était dû à une erreur toute autre dans mon squelette mais je ne pourrais même pas vous dire exactement d’où ça vient.

    Juste que vous sachiez que si ça vous arrive, vous avez cette possibilité là pour rétablir vos couleurs ;)

    Reply to this message

  • 5

    Bonjour et merci pour cette contribution.
    J’ai mis longtemps à comprendre pourquoi ça ne marchait pas sur mon site (compagnie de théâtre : http://www.carasuelo.org).
    En fait c’est parce que ce filtre est incompatible avec le filtre PyratTypo qui permet de multiples changements typographiques mais qui échappe les crochets et slashes. D’où un bug avec le filtre Couleur.

    • bonjour

      j’ai copié le filtre dans mes_options.php que j’ai mis dans le dossier “ecrire” et quand je met [rouge]texte[/rouge] dans mon article la couleur du texte n’est pas rouge et le texte indiqué est “[rouge]texte[/rouge]”

      mercide votre aide

    • salut , je viens de l’installer et j’ai eu du mal aussi au debut mais ça y est j’ai reussi.
      Voilà comment j’ai fait.(pour spip 1.9)

      Tu crées (si tu n’en a pas déjà un) un fichier “mes_fonctions.php” que tu place soit a la racine du site soit dans “squelettes” (si tu as un dossier squelettes) , j’ai pas tésté dans d’autre dossier mais ça marche peut etre aussi.

      Tu efface tout le contenu dans le code du fichier “mes_fonction.php” (si tu l’as créé avec dreamweaver par exemple)
      Tu colles tout le code des couleurs (proposé ici même)
      Tu rajoutes ceci avant le code que tu viens de coller: <?php  (ce sont les tous premiers caractères de ton fichier)
      Tu rajoutes à la fin du code:    ?>
      ( ce sont les tous derniers caractères)

      Tu ouvres ton fichier “articles.html” dans “squelettes” ou dans “dist” et tu trouves une ligne du type (#TEXTE|quelque_chose_est_peut_etre_ecris_la0,0) et tu rajoutes “|couleur”

    • désolé les caractères spéciaux ont été bouffés , et la fin du texte aussi.

    • salut did concombre

      penser à utiliser

      <code> ici mon texte spécial et mon code</code>

      sinon SPIP fait volontairement du nettoyage du texte pour raison de sécurité et de typographie

      Ce qui serait intéressant c’est que tu complète ce qui manque à ton post, cela pourrait intéresser du monde, même si laisser trop de couleurs en accès libre aux rédacteurs peut poser des problèmes de charte graphique, de lisibilité et de navigation dans le site, si ceux-ci n’utilisent pas la chose avec discernement.

    • Merci NicolasR , je suis novice je connaissais pas “code”
      bon alors je recommence :

      Tu crées (si tu n’en a pas déjà un) un fichier « mes_fonctions.php » que tu places soit a la racine du site soit dans « squelettes » (si tu as un dossier squelettes) , j’ai pas tésté dans d’autre dossier mais ça marche peut etre aussi.

      Tu effaces tout le contenu dans le code du fichier « mes_fonction.php » (si tu l’as créé avec dreamweaver par exemple) Tu colles tout le code des couleurs (proposé ici même)
      Tu rajoutes ceci avant le code que tu viens de coller, au tout début du fichier :
      <?php  
      Et ça a la fin, vraiment à la fin:
      ?>

      Moi je l’ai fait juste pour le corps des articles mais ça marche (théoriquement) pour les autres.

      Donc dans ton fichier article.html , tu dois trouver une partie du code qui correspond a ça:

      (#TEXTE|quelque_chose{12,34}|autre_chose_ou_pas)

      et tu rajoutes

      |couleur

      ca te donne alors:

      (#TEXTE|couleur|quelque_chose{12,34}|autre_chose_ou_pas)

      Ensuite dans le texte de ton article , tu tapes directement:

      [vert]le texte entre sera vert [/vert]

      et voilà.
      Fais aussi des tests avec les couleurs car dans le code donné il y a une couleur qui est inversée.

      Je ne m’en suis servi que pour classer par catégorie des liens , qu’on peut voir sur cette page:
      http://muzine.aminche.com/muzine/spip.php?article86

    Reply to this message

  • 9

    J’essaie ça mais sans résultat.J’ai toujours des:

    [jaune]TXO[/jaune]

    quand je valide mon article.

    J’ai bien essayé de copier empiriquement mes_fonctions.php3 dans /ecrire sans succès. J’aurais pourtant bien aimé mettre à disposition des rédacteurs des raccourcis plus simples que les <html> et <span> qu’ils rechignent à utiliser.

    • J’essaie ça mais sans résultat.J’ai toujours des :

      [jaune]TXO[/jaune]

      quand je valide mon article.

      J’ai bien essayé de copier empiriquement mes_fonctions.php3 dans /ecrire sans succès. J’aurais pourtant bien aimé mettre à disposition des rédacteurs des raccourcis plus simples que les et qu’ils rechignent à utiliser.

      En fait :
      bien laisser mes_fonctions à la racine.
      ensuite utiliser le filtre. Par exemple, si c’est le texte d’un article qui utilise des couleurs, et bien il faut mettre (#TEXTE|couleur) dans le fichier html.
      en espérant avoir été clair

    • En fait : bien laisser mes_fonctions à la racine. ensuite utiliser le filtre. Par exemple, si c’est le texte d’un article qui utilise des couleurs, et bien il faut mettre (#TEXTE|couleur) dans le fichier html. en espérant avoir été clair

      Ça y est et ça m’a permis d’y rajouter quelque chose pour les petites majuscules. Je n’avais pas compris que les actions du webmestre et des rédacteurs étaient toutes nécessaires et qu’on ne pouvait compter sur l’une ou l’autre.

      Ce qui, à posteriori, est, bien sûr, absurde...

    • Une petite erreur dans la fonction: La couleur pour bleu n’est pas yellow mais blue (Ah le copier coller...)

    • j’utilise comme raccourcis des tags html avec simplement le nom de la couleur.
      Dans mes_options.php3 j’utilise apres-propre pour remplacer les tags par
      un span avec un style pour mettre les caracteres en couleur

      je ne connais pas trop spip vaut-il mieux utiliser ( mes_fonctions,aprés propre, class, style, [rouge] ou ..) et pourquoi ?
      comment faire apparaître des tags html dans ces messages ?

      1. il vaut mieux utiliser apres_propre, c’est mieux qu’un filtre parce que comme cela, tu es sûr que ça s’applique partout, pas besoin de toucher au squelette. En plus, apres_propre modifiera aussi l’affichage dans l’espace privé, ce qu’un filtre ne pourra jamais faire,
      2. la notation du raccourcis, c’est à toi de voir avec lequel tu te sens le mieux, lequel est le plus facile à traiter. En particulier, il ne faut pas en choisir un qui est “concurent” avec un raccourcis déjà existant.
      3. pour mettre du code dans les messages, il faut l’entoure des balises <code> et </code>
    • salut à tous,
      voila j’utilise spip 1.8.2d, dotspip 1.8 et comme squelette rougeciel 1.

      je fais la demarche comme dit mais quand je met un article avec une ou plusieurs couleurs et que vais voir l’article je me retrouve avec ca:

           * Erreur(s) dans le squelette
                o Syntaxe boucle incorrecte, BOUCLE_author: tag fermant manquant
                o Erreur sur le site, ) ] [
                  (#DESCRIPTIF)
                  ] [
      
      (#EMBED_DOCUMENT)
      
                  ]
                  =document}{extension==(png|jpg|gif)$}{doublons}>
                  [(#LOGO_DOCUMENT{0,60})] [
                  (#TITRE)
                  ][
                  (#DESCRIPTIF)
                  ]
      
      #NOTES
      
      
      # Erreur sur le site, ) ] [
      (#DESCRIPTIF)
      ] [
      
      (#EMBED_DOCUMENT)
      
      ]
      =document}{extension==(png|jpg|gif)$}{doublons}>
      [(#LOGO_DOCUMENT{0,60})] [
      (#TITRE)
      ][
      (#DESCRIPTIF)
      ]
      #NOTES
      
      
      # Erreur sur le site, ) ] [
      (#DESCRIPTIF)
      ] [
      
      (#EMBED_DOCUMENT)
      
      ]
      =document}{extension==(png|jpg|gif)$}{doublons}>
      [(#LOGO_DOCUMENT{0,60})] [
      (#TITRE)
      ][
      (#DESCRIPTIF)
      ]
      #NOTES
      
      
      # Erreur sur le site, ) ] [
      (#DESCRIPTIF)
      ] [
      
      (#EMBED_DOCUMENT)
      
      ]
      =document}{extension==(png|jpg|gif)$}{doublons}>
      [(#LOGO_DOCUMENT{0,60})] [
      (#TITRE)
      ][
      (#DESCRIPTIF)
      ]
      #NOTES

      je pense que cela vient de dotspip?
      si une âme charitable connait la solution ou à eu le souci d’avance merci

    • Je viens de tester. ça fonctionne tres bien avec un SPIP 1.8.2 d , avec la derniere version de dotspip.
      Tu aurais pas viré la balise auteur en modifiant article.html ?

    • non izo je n’ai rien vire , peut être que si tu medis ou exactement il faut que je mette le |couleur cela reglera mon probleme!
      car je l’ai installé avec spip 1.8.2d et squelette eva dans mes écoles et tout est ok?
      en tout cas je suis content que l’on repond aux postes!!

    • J’ai récupéré le pluging barre_typo_enrichie de J PYRAT (spip 1.9). Je suis entrain de rajouter une barre de couleur .
      Pour la compatibilité SPIP vaut-il mieux utiliser les raccourcis {rouge{texte}rouge} ou [rouge]texte[/rouge] ou <rouge> texte</rouge>           ?
      Techniquement les 3 sont possibles.
      On peut aussi être plus limité en nombre de couleurs avec {r{texte}r}

    Reply to this message

  • 1

    Bonjour Aurélien,
    Je suis désolé mais je débute dans la création de sites spip et je n’ai strictement rien comris à la procédure que vous donnez.
    J’ai créé un fichier mes_fonctions.php3 à la racine de mon site, j’y ai copié le script que vous donnez généreusement mais alors ensuite, je ne comprends absolument pas ce qu’il faut faire.
    que veut dire :
    “Pour le webmaster : Il suffit d’ajouter |couleur aux tags spip situé dans les squelettes (fichiers .html).
    (#TEXTE

    que sont les tags ?
    Vous serait-il possible (je n’ose abuser) de m’indiquer pas à pas ce qu’il faut faire ?
    Je vous remercie déjà pour tout ce que vous faites et d’avance pour ce que vous allez encore faire.
    Marc Pougheon
    ah, juste une dernière petite question : est-il possible de changer le numéro d’un article ? et si oui, comment ?
    Merci encore

    • Quelqu’un pourrait-il m’expliquer concrètement comment changer la couleur du texte avec les différentes étapes à suivre ? Je débute dans spip..Merci

    Reply to this message

  • Salut la contrib fonctionne sur mes articles mes maintenant mon probleme est le suivant:
    Sur ma page d’accueil ou je retrouve toute les introductions de mes articles je ma retrouve avec [vert clair]ipsum[/vert clair] et non ipsum de couleur verte ??

    d’avance merci!

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom