Script perl ... - Programmation
Marsh Posté le 06-12-2001 à 14:46:05
Je crois que l'option de recherche m te permet de traiter ta chaine comme une seule ligne...
Jette un oeil aux options de recherche...
Marsh Posté le 06-12-2001 à 14:53:05
oui je connais, j essaie d utiliser qqchose du style
s///gmi;
donc je connais le m, mais personne n'a jamais réussi a m expliquer comme cette option marchait ...
donc si quelqu un connait ou a une autre solution ...
Marsh Posté le 06-12-2001 à 15:05:36
Je ne peux pas te dire grand chose d'autre, je n'ai aucun moyen de tester en PERL (dont je ne connais pas bien la syntaxe), c'est juste que j'ai l'habitude de traiter en PHP avec des Regexp "Compatibles PERL", mais ça s'arrête là...
Marsh Posté le 06-12-2001 à 15:49:59
ah non, c l'inverse, faut utiliser l'option s qui traite ton texte comme une seule ligne !
-> s/<span>(.*?)</span>/<h1>$1</h1>/gsi
Marsh Posté le 06-12-2001 à 15:50:33
script bla.pl :
#!/usr/bin/perl
while(<STDIN> ) {
$ch = $_;
$ch =~ s/<span(.*)>/<h1$1>/gmi;
$ch =~ s/<\/span>/<\/h1>/gmi;
print $ch;
}
ficher span :
<span class="UneClasse"> aaa
bbb
ccc
</span><span class="UneClasse"> aaa
bbb
ccc
</span>
exec :
perl bla.pl < span > h1
fichier h1:
<h1 class="UneClasse"> aaa
bbb
ccc
</h1><h1 class="UneClasse"> aaa
bbb
ccc
</h1>
Marsh Posté le 06-12-2001 à 15:50:40
l'option s autorise simplement le . à compter aussi en tant que \n
Marsh Posté le 06-12-2001 à 15:53:20
heu... mon exemple il est po bon (navait po bien compris le pb !), mais pour l'option, c bien ça !
Marsh Posté le 06-12-2001 à 17:01:52
minusplus a écrit a écrit : heu... mon exemple il est po bon (navait po bien compris le pb !), mais pour l'option, c bien ça ! |
Oui tout à fait, tu as raison pour l'option m et s, je me suis trompé...
Toutes mes excuses...
Marsh Posté le 06-12-2001 à 14:40:02
bonjour tout le monde,
mon probleme est le suivant :
je voudrais creer un script qui transforme toutes les balises d un fichier html
<span class="UneClasse"> ...(il peut y avoir n importe quoi) </span>
en
<h1> ...(il peut y avoir n importe quoi) </h1>
j'essaie de faire ca avec les expressions regulieres de perl mais je n arrive pas a gerer le cas ou le
<span class="UneClasse"> et le </span> ne sont pas sur la même ligne ...
bien evidement, je ne peux traiter que les couples <span </span>, car il y a des </span> qui ne sont pas associés a <span class="UneClasse">
exemple :
<span class="UneClasse"> aaa
bbb
ccc
</span>
et je voudrais obtenir ca :
<h1> aaa
bbb
ccc
</h1>
si tu vous avez une idée ...
merci beaucoup d'aance