Bonjour,
J'ai du code XHTML non valide en masse.
C'est esentiellement beaucoup de
<input xxxxxxxxx>
qui faut remplacer en
<input xxxxxxxxx />
dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a,
c'est à dire des attributs et donc les caractères spéciaux qui en découlent.
Pour construire l'expression rationelle qui va matcher, je dis:
"les chaines contenant "<input " suivi de n'importe quel caractère sauf
">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine,
mais en insérant un "/" avant le ">".
Je ne sais meme pas comment batir la regexp...
Un coup de main SVP
Je compte implémenter la chose en Perl ensuite.
Mais le suivi est d'abord proposé sur fcou.
Certes, ce n'est pas exactement '<' et '>' seuls qui deviennent spéciaux mais c'est perturbant quand même surtout pour quelqu'un qui débute en regexp... Il vaut mieux prévenir que guérir. ;-)
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Certes, ce n'est pas exactement '<' et '>' seuls qui deviennent
spéciaux mais c'est perturbant quand même surtout pour quelqu'un qui
débute en regexp... Il vaut mieux prévenir que guérir. ;-)
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Certes, ce n'est pas exactement '<' et '>' seuls qui deviennent spéciaux mais c'est perturbant quand même surtout pour quelqu'un qui débute en regexp... Il vaut mieux prévenir que guérir. ;-)
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
$code_XHTML_invalide =~ s{ # on substitue les chaînes <input # contenant "<input " ([^>]*?) # puis n'importe quels caractères sauf ">" # (mémorisés) > # jusqu'au premier ">" }{<input$1 />}gx; # on insère le / final
[...]
Note que le ? plus haut n'est pas necessaire, ou alors, on peut ecrire: s{<input (.*?)>}...
Oui. J'étais parti sur l'idée de (.*?) puis j'ai remplacé le . par [^>] (pour coller à la demande) sans supprimer le ? qui devient effectivement inutile.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
$code_XHTML_invalide =~
s{ # on substitue les chaînes
<input # contenant "<input "
([^>]*?) # puis n'importe quels caractères sauf ">"
# (mémorisés)
> # jusqu'au premier ">"
}{<input$1 />}gx; # on insère le / final
[...]
Note que le ? plus haut n'est pas necessaire, ou alors, on peut
ecrire: s{<input (.*?)>}...
Oui. J'étais parti sur l'idée de (.*?) puis j'ai remplacé le . par
[^>] (pour coller à la demande) sans supprimer le ? qui devient
effectivement inutile.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
$code_XHTML_invalide =~ s{ # on substitue les chaînes <input # contenant "<input " ([^>]*?) # puis n'importe quels caractères sauf ">" # (mémorisés) > # jusqu'au premier ">" }{<input$1 />}gx; # on insère le / final
[...]
Note que le ? plus haut n'est pas necessaire, ou alors, on peut ecrire: s{<input (.*?)>}...
Oui. J'étais parti sur l'idée de (.*?) puis j'ai remplacé le . par [^>] (pour coller à la demande) sans supprimer le ? qui devient effectivement inutile.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
zahg
In article <fdavuv$em0$, "Mihamina (R12y) Rakotomandimby" wrote:
Bonjour, J'ai du code XHTML non valide en masse. C'est esentiellement beaucoup de <input xxxxxxxxx> qui faut remplacer en <input xxxxxxxxx /> dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a, c'est à dire des attributs et donc les caractères spéciaux qui en découlent.
Pour construire l'expression rationelle qui va matcher, je dis: "les chaines contenant "<input " suivi de n'importe quel caractère sauf ">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine, mais en insérant un "/" avant le ">".
Je ne sais meme pas comment batir la regexp... Un coup de main SVP Je compte implémenter la chose en Perl ensuite. Mais le suivi est d'abord proposé sur fcou.
Merci d'avance.
peut être avec ça : s/<input(.*?)>/<input$1/>/i
-- klp -- zaHg
In article <fdavuv$em0$1@cabale.usenet-fr.net>,
"Mihamina (R12y) Rakotomandimby" <mihamina@rktmb.org> wrote:
Bonjour,
J'ai du code XHTML non valide en masse.
C'est esentiellement beaucoup de
<input xxxxxxxxx>
qui faut remplacer en
<input xxxxxxxxx />
dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a,
c'est à dire des attributs et donc les caractères spéciaux qui en découlent.
Pour construire l'expression rationelle qui va matcher, je dis:
"les chaines contenant "<input " suivi de n'importe quel caractère sauf
">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine,
mais en insérant un "/" avant le ">".
Je ne sais meme pas comment batir la regexp...
Un coup de main SVP
Je compte implémenter la chose en Perl ensuite.
Mais le suivi est d'abord proposé sur fcou.
In article <fdavuv$em0$, "Mihamina (R12y) Rakotomandimby" wrote:
Bonjour, J'ai du code XHTML non valide en masse. C'est esentiellement beaucoup de <input xxxxxxxxx> qui faut remplacer en <input xxxxxxxxx /> dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a, c'est à dire des attributs et donc les caractères spéciaux qui en découlent.
Pour construire l'expression rationelle qui va matcher, je dis: "les chaines contenant "<input " suivi de n'importe quel caractère sauf ">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine, mais en insérant un "/" avant le ">".
Je ne sais meme pas comment batir la regexp... Un coup de main SVP Je compte implémenter la chose en Perl ensuite. Mais le suivi est d'abord proposé sur fcou.
Merci d'avance.
peut être avec ça : s/<input(.*?)>/<input$1/>/i
-- klp -- zaHg
kurtz le pirate
In article <fdavuv$em0$, "Mihamina (R12y) Rakotomandimby" wrote:
Bonjour, J'ai du code XHTML non valide en masse. C'est esentiellement beaucoup de <input xxxxxxxxx> qui faut remplacer en <input xxxxxxxxx /> dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a, c'est à dire des attributs et donc les caractères spéciaux qui en découlent.
Pour construire l'expression rationelle qui va matcher, je dis: "les chaines contenant "<input " suivi de n'importe quel caractère sauf ">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine, mais en insérant un "/" avant le ">".
Je ne sais meme pas comment batir la regexp... Un coup de main SVP Je compte implémenter la chose en Perl ensuite. Mais le suivi est d'abord proposé sur fcou.
Merci d'avance.
pet être avec ça : s/<input(.*?)>/<input$1/>/i;
-- klp
In article <fdavuv$em0$1@cabale.usenet-fr.net>,
"Mihamina (R12y) Rakotomandimby" <mihamina@rktmb.org> wrote:
Bonjour,
J'ai du code XHTML non valide en masse.
C'est esentiellement beaucoup de
<input xxxxxxxxx>
qui faut remplacer en
<input xxxxxxxxx />
dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a,
c'est à dire des attributs et donc les caractères spéciaux qui en découlent.
Pour construire l'expression rationelle qui va matcher, je dis:
"les chaines contenant "<input " suivi de n'importe quel caractère sauf
">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine,
mais en insérant un "/" avant le ">".
Je ne sais meme pas comment batir la regexp...
Un coup de main SVP
Je compte implémenter la chose en Perl ensuite.
Mais le suivi est d'abord proposé sur fcou.
In article <fdavuv$em0$, "Mihamina (R12y) Rakotomandimby" wrote:
Bonjour, J'ai du code XHTML non valide en masse. C'est esentiellement beaucoup de <input xxxxxxxxx> qui faut remplacer en <input xxxxxxxxx /> dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a, c'est à dire des attributs et donc les caractères spéciaux qui en découlent.
Pour construire l'expression rationelle qui va matcher, je dis: "les chaines contenant "<input " suivi de n'importe quel caractère sauf ">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine, mais en insérant un "/" avant le ">".
Je ne sais meme pas comment batir la regexp... Un coup de main SVP Je compte implémenter la chose en Perl ensuite. Mais le suivi est d'abord proposé sur fcou.
-- Apply rot13 to this e-mail address before using it. JM Marino http://jm.marino.free.fr
Ouipique
Bonjour,
je ne sais pas si tu as eu réponse sur fcou, au cas où...
C'est esentiellement beaucoup de <input xxxxxxxxx> qui faut remplacer en <input xxxxxxxxx /> dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a, c'est à dire des attributs et donc les caractères spéciaux qui en découlent.
Pour construire l'expression rationelle qui va matcher, je dis: "les chaines contenant "<input " suivi de n'importe quel caractère sauf ">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine, mais en insérant un "/" avant le ">".
s/<input ([^>]*)>//>/g;
Je ne sais meme pas comment batir la regexp...
exactement comme tu l'as dit.
Un coup de main SVP Je compte implémenter la chose en Perl ensuite.
essaye alors ce que je te propose.
@+ Ouipique.
Bonjour,
je ne sais pas si tu as eu réponse sur fcou, au cas où...
C'est esentiellement beaucoup de
<input xxxxxxxxx>
qui faut remplacer en
<input xxxxxxxxx />
dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a,
c'est à dire des attributs et donc les caractères spéciaux qui en
découlent.
Pour construire l'expression rationelle qui va matcher, je dis:
"les chaines contenant "<input " suivi de n'importe quel caractère sauf
">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine,
mais en insérant un "/" avant le ">".
s/<input ([^>]*)>//>/g;
Je ne sais meme pas comment batir la regexp...
exactement comme tu l'as dit.
Un coup de main SVP
Je compte implémenter la chose en Perl ensuite.
je ne sais pas si tu as eu réponse sur fcou, au cas où...
C'est esentiellement beaucoup de <input xxxxxxxxx> qui faut remplacer en <input xxxxxxxxx /> dans xxxxxxx il peut y avoir tout ce que la norme permet qu'il y a, c'est à dire des attributs et donc les caractères spéciaux qui en découlent.
Pour construire l'expression rationelle qui va matcher, je dis: "les chaines contenant "<input " suivi de n'importe quel caractère sauf ">" jusqu'au premier ">" rencontré sont à remplacer par la meme chaine, mais en insérant un "/" avant le ">".
s/<input ([^>]*)>//>/g;
Je ne sais meme pas comment batir la regexp...
exactement comme tu l'as dit.
Un coup de main SVP Je compte implémenter la chose en Perl ensuite.