Menu

Ecrire un programme en gras et surligné

london1854 2 Messages postés mardi 9 avril 2013Date d'inscription 31 octobre 2017 Dernière intervention - 31 oct. 2017 à 13:27 - Dernière réponse : [Dal] 4568 Messages postés mercredi 15 septembre 2004Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention
- 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.
Afficher la suite 

1 réponse

Répondre au sujet
[Dal] 4568 Messages postés mercredi 15 septembre 2004Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 8 nov. 2017 à 09:19
0
Utile
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
Commenter la réponse de [Dal]