Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/04/2008, 23h47   #1
Membre habitué
 
Denis Billo
Developpeur web et Access VBA
Inscription : janvier 2003
Messages : 282
Détails du profil
Informations personnelles :
Nom : Denis Billo
Localisation : France

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

Informations forums :
Inscription : janvier 2003
Messages : 282
Points : 122
Points : 122
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...
__________________
VrroOOOAAAAAPPPPPPPPPP !!!
Décibel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 08h14   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 571
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 571
Points : 2 527
Points : 2 527
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
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 08h21   #3
Membre habitué
 
Denis Billo
Developpeur web et Access VBA
Inscription : janvier 2003
Messages : 282
Détails du profil
Informations personnelles :
Nom : Denis Billo
Localisation : France

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

Informations forums :
Inscription : janvier 2003
Messages : 282
Points : 122
Points : 122
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...
__________________
VrroOOOAAAAAPPPPPPPPPP !!!
Décibel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 08h23   #4
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 571
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 571
Points : 2 527
Points : 2 527
Allez, un ch'ti coup de pouce

C'est cette ligne qui t'intéresse :
Code :
"![(color|couleur)s*=?s*(red|gray|blue|lightgrey|green|black|#[[:xdigit:]]{6})](.*)[/\1]!iUs",
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 08h28   #5
Membre habitué
 
Denis Billo
Developpeur web et Access VBA
Inscription : janvier 2003
Messages : 282
Détails du profil
Informations personnelles :
Nom : Denis Billo
Localisation : France

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

Informations forums :
Inscription : janvier 2003
Messages : 282
Points : 122
Points : 122
Ha !!!!!!!

Et elle sert à quoi la chose ?
J'en fais quoi ??????
__________________
VrroOOOAAAAAPPPPPPPPPP !!!
Décibel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 08h30   #6
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 571
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 571
Points : 2 527
Points : 2 527
Bon allez, dernier indice

Mais en décortiquant un peu la regex, tu aurais pu trouvé tout seul...
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 08h39   #7
Membre habitué
 
Denis Billo
Developpeur web et Access VBA
Inscription : janvier 2003
Messages : 282
Détails du profil
Informations personnelles :
Nom : Denis Billo
Localisation : France

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

Informations forums :
Inscription : janvier 2003
Messages : 282
Points : 122
Points : 122
Je viens d'essayer ça, mais rien ne marche...
Code :
str_replace("color=#[[:xdigit:]]{6}", "color=\"#[[:xdigit:]]{6}\"", $texte)
__________________
VrroOOOAAAAAPPPPPPPPPP !!!
Décibel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 08h48   #8
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 571
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 571
Points : 2 527
Points : 2 527
Re, il faut utiliser la méthode preg_replace

Et dans le 2ème argument, ça doit être plutôt :
(non testé)
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 08h53   #9
Membre habitué
 
Denis Billo
Developpeur web et Access VBA
Inscription : janvier 2003
Messages : 282
Détails du profil
Informations personnelles :
Nom : Denis Billo
Localisation : France

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

Informations forums :
Inscription : janvier 2003
Messages : 282
Points : 122
Points : 122
Merci pour ton aide !

Le $1 fait quoi comme action ?
__________________
VrroOOOAAAAAPPPPPPPPPP !!!
Décibel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 08h56   #10
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 571
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 571
Points : 2 527
Points : 2 527
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 :
$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
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 09h05   #11
Membre habitué
 
Denis Billo
Developpeur web et Access VBA
Inscription : janvier 2003
Messages : 282
Détails du profil
Informations personnelles :
Nom : Denis Billo
Localisation : France

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

Informations forums :
Inscription : janvier 2003
Messages : 282
Points : 122
Points : 122
Yeeepiiiiii !!!!

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

Sinon merci beaucoup !
__________________
VrroOOOAAAAAPPPPPPPPPP !!!
Décibel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 09h12   #12
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 571
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 571
Points : 2 527
Points : 2 527
Il s'agit de délimiteurs

N'oublie pas de jeter un oeil dans les cours que je t'ai indiqués
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h07.


 
 
 
 
Partenaires

Hébergement Web