je veux faire des remplacement par exp reg dans du html.
Quelque chose du genre :
remplacer "TOTO" par "TITI" dans <html><body>toto</body></html>
Ca, c'est simple.
Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises
HTML, seulement dans le texte.
Par exemple, dans :
<html><body class="toto">toto</body></html>
je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
Sur ce, bonne année, et comme le dit RMS : Happy Hacking :-)
--
Paul
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Samuel Mouniée
paul wrote:
bonjour,
je veux faire des remplacement par exp reg dans du html. Quelque chose du genre : remplacer "TOTO" par "TITI" dans <html><body>toto</body></html> Ca, c'est simple. Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises HTML, seulement dans le texte. Par exemple, dans : <html><body class="toto">toto</body></html> je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
Sur ce, bonne année, et comme le dit RMS : Happy Hacking :-)
Bonjour,
la solution la plus propre serait d'utiliser HTML::Parser pour traiter votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser . je vous invite donc a utiliser HTML::Parser .
.s'nuoM
paul wrote:
bonjour,
je veux faire des remplacement par exp reg dans du html.
Quelque chose du genre :
remplacer "TOTO" par "TITI" dans <html><body>toto</body></html>
Ca, c'est simple.
Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises
HTML, seulement dans le texte.
Par exemple, dans :
<html><body class="toto">toto</body></html>
je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
Sur ce, bonne année, et comme le dit RMS : Happy Hacking :-)
Bonjour,
la solution la plus propre serait d'utiliser HTML::Parser pour traiter
votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser .
je vous invite donc a utiliser HTML::Parser .
je veux faire des remplacement par exp reg dans du html. Quelque chose du genre : remplacer "TOTO" par "TITI" dans <html><body>toto</body></html> Ca, c'est simple. Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises HTML, seulement dans le texte. Par exemple, dans : <html><body class="toto">toto</body></html> je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
Sur ce, bonne année, et comme le dit RMS : Happy Hacking :-)
Bonjour,
la solution la plus propre serait d'utiliser HTML::Parser pour traiter votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser . je vous invite donc a utiliser HTML::Parser .
.s'nuoM
Samuel Mouniée
Bonjour,
Samuel Mouniée wrote:
paul wrote:
bonjour,
je veux faire des remplacement par exp reg dans du html. Quelque chose du genre : remplacer "TOTO" par "TITI" dans <html><body>toto</body></html> Ca, c'est simple. Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises HTML, seulement dans le texte. Par exemple, dans : <html><body class="toto">toto</body></html> je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
Sur ce, bonne année, et comme le dit RMS : Happy Hacking :-)
Bonjour,
la solution la plus propre serait d'utiliser HTML::Parser pour traiter votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser . je vous invite donc a utiliser HTML::Parser .
ca m'apprendra a me relire trop rapidement. j'avais pondu un pseudo code pour parser un fichier HTML conformement a la norme. mais je l'ai retiré car il pouvait se mettre a deconner sur les fichiers HTML "crade" ( avec &<> à la place de & > < ).
.s'nuoM
Bonjour,
Samuel Mouniée wrote:
paul wrote:
bonjour,
je veux faire des remplacement par exp reg dans du html.
Quelque chose du genre :
remplacer "TOTO" par "TITI" dans <html><body>toto</body></html>
Ca, c'est simple.
Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises
HTML, seulement dans le texte.
Par exemple, dans :
<html><body class="toto">toto</body></html>
je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
Sur ce, bonne année, et comme le dit RMS : Happy Hacking :-)
Bonjour,
la solution la plus propre serait d'utiliser HTML::Parser pour traiter
votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser .
je vous invite donc a utiliser HTML::Parser .
ca m'apprendra a me relire trop rapidement. j'avais pondu un pseudo code
pour parser un fichier HTML conformement a la norme. mais je l'ai retiré
car il pouvait se mettre a deconner sur les fichiers HTML "crade" ( avec
&<> à la place de & > < ).
je veux faire des remplacement par exp reg dans du html. Quelque chose du genre : remplacer "TOTO" par "TITI" dans <html><body>toto</body></html> Ca, c'est simple. Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises HTML, seulement dans le texte. Par exemple, dans : <html><body class="toto">toto</body></html> je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
Sur ce, bonne année, et comme le dit RMS : Happy Hacking :-)
Bonjour,
la solution la plus propre serait d'utiliser HTML::Parser pour traiter votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser . je vous invite donc a utiliser HTML::Parser .
ca m'apprendra a me relire trop rapidement. j'avais pondu un pseudo code pour parser un fichier HTML conformement a la norme. mais je l'ai retiré car il pouvait se mettre a deconner sur les fichiers HTML "crade" ( avec &<> à la place de & > < ).
.s'nuoM
paul
Samuel Mouniée wrote:
la solution la plus propre serait d'utiliser HTML::Parser pour traiter votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser . je vous invite donc a utiliser HTML::Parser .
J'utilise déjà HTML::Parser pour une première phase d'analyse. Mais lorsque j'utilise l'arbre pour les remplacements, puis que je regénère le fichier HTML, il est "illisible" (plus indenté...)
Ou alors, j'ai raté un truc ? -- Paul
Samuel Mouniée wrote:
la solution la plus propre serait d'utiliser HTML::Parser pour traiter
votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser .
je vous invite donc a utiliser HTML::Parser .
J'utilise déjà HTML::Parser pour une première phase d'analyse. Mais lorsque
j'utilise l'arbre pour les remplacements, puis que je regénère le fichier
HTML, il est "illisible" (plus indenté...)
la solution la plus propre serait d'utiliser HTML::Parser pour traiter votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser . je vous invite donc a utiliser HTML::Parser .
J'utilise déjà HTML::Parser pour une première phase d'analyse. Mais lorsque j'utilise l'arbre pour les remplacements, puis que je regénère le fichier HTML, il est "illisible" (plus indenté...)
Ou alors, j'ai raté un truc ? -- Paul
Samuel Mouniée
Bonjour,
paul wrote:
Samuel Mouniée wrote:
la solution la plus propre serait d'utiliser HTML::Parser pour traiter votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser . je vous invite donc a utiliser HTML::Parser .
J'utilise déjà HTML::Parser pour une première phase d'analyse. Mais lorsque j'utilise l'arbre pour les remplacements, puis que je regénère le fichier HTML, il est "illisible" (plus indenté...)
Ou alors, j'ai raté un truc ?
$html->as_HTML( undef, " ", undef );
ca devrait marcher d'apres la doc.
.s'nuoM
Bonjour,
paul wrote:
Samuel Mouniée wrote:
la solution la plus propre serait d'utiliser HTML::Parser pour traiter
votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser .
je vous invite donc a utiliser HTML::Parser .
J'utilise déjà HTML::Parser pour une première phase d'analyse. Mais lorsque
j'utilise l'arbre pour les remplacements, puis que je regénère le fichier
HTML, il est "illisible" (plus indenté...)
la solution la plus propre serait d'utiliser HTML::Parser pour traiter votre fichier HTML.
avec cette solution, vous reinventer plein de choses dont HTML::Parser . je vous invite donc a utiliser HTML::Parser .
J'utilise déjà HTML::Parser pour une première phase d'analyse. Mais lorsque j'utilise l'arbre pour les remplacements, puis que je regénère le fichier HTML, il est "illisible" (plus indenté...)
Ou alors, j'ai raté un truc ?
$html->as_HTML( undef, " ", undef );
ca devrait marcher d'apres la doc.
.s'nuoM
dominix
paul wrote:
bonjour,
je veux faire des remplacement par exp reg dans du html. Quelque chose du genre : remplacer "TOTO" par "TITI" dans <html><body>toto</body></html> Ca, c'est simple. Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises HTML, seulement dans le texte. Par exemple, dans : <html><body class="toto">toto</body></html> je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
#!/usr/bin/perl -w use strict; use HTML::TokeParser::Simple; my $p = HTML::TokeParser::Simple->new( *DATA );
while ( my $token = $p->get_token ) { $_ = $token->as_is; s/toto/tagada/g if $token->is_text; print } __DATA__ <html><body class="toto">toto</body></html>
je veux faire des remplacement par exp reg dans du html.
Quelque chose du genre :
remplacer "TOTO" par "TITI" dans <html><body>toto</body></html>
Ca, c'est simple.
Mais je ne VEUX PAS remplacer une chaine de caractères dans les
balises HTML, seulement dans le texte.
Par exemple, dans :
<html><body class="toto">toto</body></html>
je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
#!/usr/bin/perl -w
use strict;
use HTML::TokeParser::Simple;
my $p = HTML::TokeParser::Simple->new( *DATA );
while ( my $token = $p->get_token ) {
$_ = $token->as_is;
s/toto/tagada/g if $token->is_text;
print
}
__DATA__
<html><body class="toto">toto</body></html>
je veux faire des remplacement par exp reg dans du html. Quelque chose du genre : remplacer "TOTO" par "TITI" dans <html><body>toto</body></html> Ca, c'est simple. Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises HTML, seulement dans le texte. Par exemple, dans : <html><body class="toto">toto</body></html> je ne veux pas remplacer le toto qui est dans class="toto".
Donc, comment que je puis-je faire ca ?
#!/usr/bin/perl -w use strict; use HTML::TokeParser::Simple; my $p = HTML::TokeParser::Simple->new( *DATA );
while ( my $token = $p->get_token ) { $_ = $token->as_is; s/toto/tagada/g if $token->is_text; print } __DATA__ <html><body class="toto">toto</body></html>
je veux faire des remplacement par exp reg dans du html. Quelque chose du genre : remplacer "TOTO" par "TITI" dans <html><body>toto</body></html> Ca, c'est simple. Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises HTML, seulement dans le texte. Par exemple, dans : <html><body class="toto">toto</body></html> je ne veux pas remplacer le toto qui est dans class="toto".
HTML::TreeBuilder te permet de transformer le HTML en une structure arborescente. Il permet aussi de faire l'operation inverse.
A toi de:
1/ Utiliser HTML::TreeBuilder pour transformer le HTML en arbre.
2/ Ecrire une fonction recursive pour explorer l'arbre et faire ta substitution.
3/ Utiliser HTML::TreeBuilder encore pour transforme l'arbre (modifie) en HTML.
paul wrote:
bonjour,
je veux faire des remplacement par exp reg dans du html.
Quelque chose du genre :
remplacer "TOTO" par "TITI" dans <html><body>toto</body></html>
Ca, c'est simple.
Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises
HTML, seulement dans le texte.
Par exemple, dans :
<html><body class="toto">toto</body></html>
je ne veux pas remplacer le toto qui est dans class="toto".
HTML::TreeBuilder te permet de transformer le HTML en une structure
arborescente. Il permet aussi de faire l'operation inverse.
A toi de:
1/ Utiliser HTML::TreeBuilder pour transformer le HTML en arbre.
2/ Ecrire une fonction recursive pour explorer l'arbre et faire ta
substitution.
3/ Utiliser HTML::TreeBuilder encore pour transforme l'arbre (modifie)
en HTML.
je veux faire des remplacement par exp reg dans du html. Quelque chose du genre : remplacer "TOTO" par "TITI" dans <html><body>toto</body></html> Ca, c'est simple. Mais je ne VEUX PAS remplacer une chaine de caractères dans les balises HTML, seulement dans le texte. Par exemple, dans : <html><body class="toto">toto</body></html> je ne veux pas remplacer le toto qui est dans class="toto".
HTML::TreeBuilder te permet de transformer le HTML en une structure arborescente. Il permet aussi de faire l'operation inverse.
A toi de:
1/ Utiliser HTML::TreeBuilder pour transformer le HTML en arbre.
2/ Ecrire une fonction recursive pour explorer l'arbre et faire ta substitution.
3/ Utiliser HTML::TreeBuilder encore pour transforme l'arbre (modifie) en HTML.
paul
Samuel Mouniée wrote:
Ou alors, j'ai raté un truc ?
$html->as_HTML( undef, " ", undef );
ca devrait marcher d'apres la doc.
Can't locate auto/HTML/Parser/as_HTML.al in @INC (@INC contains: /usr/lib/perl5/5.8.1/i386-linux-thread-multi /usr/lib/perl5/5.8.1 /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at ./tmpl_process.pl line 131
Je sens qu'il me manque un truc là.. -- Paul
Samuel Mouniée wrote:
Ou alors, j'ai raté un truc ?
$html->as_HTML( undef, " ", undef );
ca devrait marcher d'apres la doc.
Can't locate auto/HTML/Parser/as_HTML.al in @INC (@INC contains:
/usr/lib/perl5/5.8.1/i386-linux-thread-multi /usr/lib/perl5/5.8.1
/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl .) at ./tmpl_process.pl line 131