IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Remplacement de balises type BBCode couleur [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut Remplacement de balises type BBCode couleur
    Bonsoir,

    Voila bien une chose qui reste incompréhensible pour moi....

    Quelqu'un pourrait il me donner comment faire cela...
    Voila la chose, j’ai un texte dans un champ (MySql => $texte) avec plein de : color=#ff6600 ou color=#DDCCEE ou color=#??????

    Bref des codes couleurs et je souhaiterai les passer en color= "# DDCCEE" (entourer par des " le code couleur) avec la fonction
    str_replace(’color=# ??????’, ‘"color=# ?????? "’, $texte)
    mais je ne sais pas écrire l’expression régulière qui dit : tous les 6 caractères qui suivent # à la place de mes ??????, si bien sur si c'est cela la bonne démarche ?

    dur dur...

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, un petit tour dans les sources PHP et on trouve ça : http://php.developpez.com/sources/?p...exp#bbcodebase

    Il n'y a plus qu'à regarder à la ligne qui t'intéresse

  3. #3
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par Nesmontou Voir le message
    Salut, un petit tour dans les sources PHP et on trouve ça : http://php.developpez.com/sources/?p...exp#bbcodebase

    Il n'y a plus qu'à regarder à la ligne qui t'intéresse
    Désolé mais je n'y comprends rien...
    Ce qui est bien dommage c'est qu'aucune FAQ donnes des exemples simples, pour les débutants, c'est toujours des usines à gaz indigestes...
    Et à la page que tu me donne on trouve un truc du genre "BBCode simple"... Très simple ....
    Super simple, tellement qu'il n'y a aucune explication et que je pense que beaucoup se demandent à quoi sert la chose ????

    Tu vois genre comment dire les x caractères (alpha num) suivant, ben je ne trouve pas...

  4. #4
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Allez, un ch'ti coup de pouce

    C'est cette ligne qui t'intéresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "![(color|couleur)s*=?s*(red|gray|blue|lightgrey|green|black|#[[:xdigit:]]{6})](.*)[/\1]!iUs",

  5. #5
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut
    Ha !!!!!!!

    Et elle sert à quoi la chose ?
    J'en fais quoi ??????

  6. #6
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bon allez, dernier indice

    Mais en décortiquant un peu la regex, tu aurais pu trouvé tout seul...

  7. #7
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut
    Je viens d'essayer ça, mais rien ne marche...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace("color=#[[:xdigit:]]{6}", "color=\"#[[:xdigit:]]{6}\"", $texte)

  8. #8
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Re, il faut utiliser la méthode preg_replace

    Et dans le 2ème argument, ça doit être plutôt :
    (non testé)

  9. #9
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut
    Merci pour ton aide !

    Le $1 fait quoi comme action ?

  10. #10
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Il permet de récupérer le contenu de la 1ère parenthèse de ta regex

    Sinon, il me semble qu'il faudrait faire quelque chose comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nouveau_texte = preg_replace('`color=(#[[:xdigit:]]{6})`', 'color="$1"', $texte);
    (non testé)

    Sinon, je pense qu'il faudrait que tu regardes des cours sur les regex : http://php.developpez.com/cours/?page=langage#regexp

  11. #11
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut
    Yeeepiiiiii !!!!

    Tout marche !!!!
    Je ne comprends pas les '`, si tu 2 mn pour m'expliquer ??

    Sinon merci beaucoup !

  12. #12
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Il s'agit de délimiteurs

    N'oublie pas de jeter un oeil dans les cours que je t'ai indiqués

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petite question d'orientation insertion balises type Bbcode
    Par Sianobel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/04/2010, 00h47
  2. [RegEx] Balises type BBCode pour gérer la couleur du texte
    Par Neuromancien2 dans le forum Langage
    Réponses: 3
    Dernier message: 06/09/2007, 22h43
  3. [RegEx] Remplacement de balise <br /><br /> gen
    Par raddical dans le forum Langage
    Réponses: 5
    Dernier message: 16/03/2006, 21h42
  4. [RegEx] pour retrouver et remplacer certaines balises
    Par Floréal dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2005, 07h03
  5. [Débutante] Remplacer la balise marquee ?
    Par silversky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/09/2005, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo