Ecrire un programme en gras et surligné

Fermé
london1854 Messages postés 3 Date d'inscription mardi 9 avril 2013 Statut Membre Dernière intervention 30 mars 2019 - Modifié le 31 oct. 2017 à 13:44
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 8 nov. 2017 à 09:19
Bonjour,

J'ai un programme à faire sur perl permettant de mettre en caractères gras surlignés de jaune la séquence finale ité sur la forme fléchie des noms (exemples : familiarité/NOM/familiarité).
La balise à insérer dans la fonction de substitution, pour surligner la séquence ‘ité’ en jaune et la mettre en gras, est la suivante :

<b style="background:yellow;">ité</b>
Voici le programme que j'ai créé:

print "<x-html><html><body>\n";
while(<>) {
chomp;
$ligne=$_;
$ligne =~ s/NOM/ite\/<b style="background:yellow;">ité</b>/g;
print "$ligne <br> \n";
}
print "</body></html></x-html>\n"
;



J'ai un problème car ce programme ne fonctionne pas, est-ce que quelqu'un pourrait m'expliquer comment faire pour que celui-ci fonctionne correctement et que j'obtienne le résultat demandé?
Merci d'avance.
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
8 nov. 2017 à 09:19
Salut,

Le slash doit être échappé dans la regexp, car il est le délimiteur par défaut de ses différentes parties. Tu ne le fais que pour un slash, et pas pour celui contenu à la fin sur "</b>" (que tu devrais vouloir, en toute logique, échapper).

Si on corrige ta regexp en échappant "</b>" comme cela "<\/b>", la regexp
s/NOM/ite\/<b style="background:yellow;">ité<\/b>/g
signifie que :

- tu cherches toutes les occurrences de "NOM"
- tu les remplaces par "ite/<b style="background:yellow;">ité</b>"

En fait, je doute que cela soit vraiment ce que tu veux faire.

Le plus simple est que tu donnes plusieurs exemples de texte lignes brutes complètes pouvant se trouver dans $ligne et que tu donnes le résultat à obtenir pour chacune.


Dal
0