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 24/06/2008, 16h04   #1
Membre actif
 
Avatar de vasilov
 
Inscription : juillet 2003
Messages : 295
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 295
Points : 187
Points : 187
Par défaut erreur dans une expression réguliere

Bonjour,

j'ai une erreur dans l'expression régulière suivante et je n'arrive pas à la coriger.

Mon but est de supprimer l'attribut width d'un tableau
Citation:
<table cellspacing="0" cellpadding="7" width="615" bordercolor="#000000" border="1">
Du coup j'ai créé ceci :
Code :
preg_replace('#<table([A-Za-z0-9"# ]*)width="([A-Za-z0-9]*)"([A-Za-z0-9"# ]*)>#Usi', '<table$1 $3>', $text);
Mais je me retrouve avec l'erreur
Citation:
Warning: preg_replace() [function.preg-replace]: Unknown modifier ']'
J'ai essayé plusieurs autre combiaisons mais je ne m'en sort pas.
Merci de m'aider dans cette expression régulière.
vasilov est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 17h04   #2
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Citation:
Envoyé par vasilov Voir le message
Bonjour,

j'ai une erreur dans l'expression régulière suivante et je n'arrive pas à la coriger.

Mon but est de supprimer l'attribut width d'un tableau

Du coup j'ai créé ceci :
Code :
preg_replace('#<table([A-Za-z0-9"# ]*)width="([A-Za-z0-9]*)"([A-Za-z0-9"# ]*)>#Usi', '<table$1 $3>', $text);
Mais je me retrouve avec l'erreur

J'ai essayé plusieurs autre combiaisons mais je ne m'en sort pas.
Merci de m'aider dans cette expression régulière.
Bonjour,

tu as essayé simplement avec
Code :
preg_replace('#<table(.*)width="[A-Za-z0-9]*"(.*)>#Usi', '<table$1 $3>', $text);
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 18h16   #3
Membre actif
 
Avatar de vasilov
 
Inscription : juillet 2003
Messages : 295
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 295
Points : 187
Points : 187
Merci,

j'ai utilisé
Code :
preg_replace('#<table(.*)width="[A-Za-z0-9]"(.*)>#Usi', '<table$1 $3>', $text);
et cela fonctionne niquel
vasilov est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 20h53   #4
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Attention, un truc auquel je n'avais pas pensé : ça doit aussi remplacer les width des balises qui suivent les <table> si des balises <table> n'ont pas cette propriété...

Pour éviter ce problème, tu peux essayer :
Code :
preg_replace('#<table([^>]*)width="[A-Za-z0-9]*"(.*)>#Usi', '<table$1 $3>', $text);
Ca devrait éliminer les fermetures de balise avant la propriété width...
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 22h31   #5
Membre actif
 
Avatar de vasilov
 
Inscription : juillet 2003
Messages : 295
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 295
Points : 187
Points : 187
oula j'ai du m'y prendre à plusieurs lecture pour comprendre. Maintenant c'est chose faite et j'ai corrigé mon code.

Merci de ton aide.
vasilov 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 18h01.


 
 
 
 
Partenaires

Hébergement Web