BBcode couleur

Eléphant du PHP | 283 Messages

20 juil. 2014, 20:24

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. ;)

Mammouth du PHP | 1339 Messages

20 juil. 2014, 21:41

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)
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 283 Messages

20 juil. 2014, 23:18

D'accord merci mais par contre on le met où exactement ?

Mammouth du PHP | 1339 Messages

20 juil. 2014, 23:25

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...
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 283 Messages

20 juil. 2014, 23:41

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 ..

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 juil. 2014, 08:11

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 ;) )

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 2278 Messages

21 juil. 2014, 09:49

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...
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 juil. 2014, 11:24

@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/)

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 283 Messages

06 août 2014, 19:55

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

Mammouth du PHP | 2278 Messages

06 août 2014, 20:15

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...
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 283 Messages

06 août 2014, 20:21

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...

Mammouth du PHP | 2278 Messages

06 août 2014, 23:08

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
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 283 Messages

06 août 2014, 23:21

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);

Mammouth du PHP | 2278 Messages

07 août 2014, 08:26

Qy=ueks sont :
le code initial
le code à obtenir ?
à partirde là, le str_replace de vrait être facile à déduire
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD