Page 1 sur 1
BBcode couleur
Posté : 20 juil. 2014, 20:24
par Larker
Bonjour à tous,
J'ai ajouté des bbcodes sur mon site mais je me demandais s'il était possible de choisir ses propres codes couleurs ?
Car avec ma ligne de code ci-dessous, je trouve que les couleurs "red|green|blue|yellow|purple..." sont trop flash.
Voici mon code :
Code : Tout sélectionner
$textarea= preg_replace('#\[color=(red|green|blue|yellow|purple|olive|silver|grey|navy|\#[A-Za-z0-9]{6})\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $textarea);
Merci d'avance à ceux qui pourront m'aider.

Re: BBcode couleur
Posté : 20 juil. 2014, 21:41
par Elie
Euh bah comme le montre le code que tu as mis #[A-Za-z0-9]{6}), tu peux mettre n'importe quel code hexa (
http://www.w3schools.com/tags/ref_colorpicker.asp)
Re: BBcode couleur
Posté : 20 juil. 2014, 23:18
par Larker
D'accord merci mais par contre on le met où exactement ?
Re: BBcode couleur
Posté : 20 juil. 2014, 23:25
par Elie
Bah on sait pas grand chose de ton code quoi... Donc la réponse est Oui c'est possible...
Après comment bah ça dépend sur quoi tu te bases comme script pour mettre en place tes bbcodes...
Re: BBcode couleur
Posté : 20 juil. 2014, 23:41
par Larker
Donc ça ne se met pas sur la ligne de code que j'ai donné ?
En fait je vois pas trop ce que tu veux que je donne de plus ..
Re: BBcode couleur
Posté : 21 juil. 2014, 08:11
par moogli
Salut,
Élie t'indique que ton code permet déjà d'utiliser le code hexadécimal communément utiliser sur le web (et le développent en générale).
Le lien qu'il te fournit te donne des infos.
Maintenant t il te reste a mettre un code hexa a la place de la couleur quand tu test.
Je t'invite a rechercher des tutos sur les expressions régulières c'est indispensable
(Tu peux aussi demander a l'auteur du code une tite explication

)
@+
Re: BBcode couleur
Posté : 21 juil. 2014, 09:49
par sirakawa
Chalut,
Je crois comprendre le nut de l'opération; mais il faudrait qyue la regex soit juste:
cf
http://regex101.com/
Je ne vois pas en revanche le rapport avec les BBcodes couleurs...
Re: BBcode couleur
Posté : 21 juil. 2014, 11:24
par moogli
@sirakawa : test le bouton couleur du bbcode du forum tu va comprendre
un zoli couleur un zoli couleur
ce qui me fait dire c'est l'expression régulière utilisée ici d'ailleurs
sinon oui il manque un \, merci pour le lien du "testeur" c'est sympa

(perso j'aime bien aussi
https://www.debuggex.com/)
@+
Re: BBcode couleur
Posté : 06 août 2014, 19:55
par Larker
Bonjour,
J'ai demandé de l'aide à quelqu'un et il m'a donné ceci :
$patterns = array(
"#\[color=(\#[0-9a-f]{6})\](.+)\[/color\]#isU", // Couleurs en hexadécimal
"#\[color=([a-z])\](.+)\[/color\]#isU" // Couleurs nommées
);
$texte = preg_replace($patterns, '<span style="color:$1">$2</span>', $texte);
J'aimerais que quelqu'un me donne un exemple avec un code hexadécimal svp afin que je comprenne mieux le code.
Merci
Re: BBcode couleur
Posté : 06 août 2014, 20:15
par sirakawa
Ca ca remplaceune série de lettres par une dérie de chiffres....
Le plus simple, me semble-t-il,serait d'avoir deux tableaux:
couluers en texte et couleurs en hexa
et de se servir de str_replace...
Re: BBcode couleur
Posté : 06 août 2014, 20:21
par Larker
Merci d'avoir répondu Sirakawa.
Donc du coup ça donnerait quoi ? J'ai vraiment du mal avec le preg_replace et pourtant ce n'est pas faute d'avoir lu des tutos la dessus...
Re: BBcode couleur
Posté : 06 août 2014, 23:08
par sirakawa
8Il n'y a aucun besoin d'un preg_repace; il suffit d'employer str_replace qui est très simple d'emploi et facile à étendre (couleurs oubliées, mal traduites...)
http://us2.php.net/manual/fr/function.str-replace.php
Re: BBcode couleur
Posté : 06 août 2014, 23:21
par Larker
Oui je connais le str replace j'ai fais mes smileys avec, sauf que pour le code couleur je ne vois pas trop comment faire ...
J'ai testé ça, je voudrais votre avis :
Code : Tout sélectionner
$content = str_replace("[vert]", '<span class="vert">', $content);
$content = str_replace("[/vert]", "</span>", $content);
Re: BBcode couleur
Posté : 07 août 2014, 08:26
par sirakawa
Qy=ueks sont :
le code initial
le code à obtenir ?
à partirde là, le str_replace de vrait être facile à déduire