Bonjour,
Je développe actuellement un module perl qui remplace des mots automatiquement dans le texte d'une page web par des liens.
Les mots à remplacer sont stockés dans un fichier texte avec le lien, la cible d'ouverture (_self ou _blank) et la description correspondante.
Mon problème vient de la fonction chargée de ramplacer les mots (plus précisément de l'expression régulière d'après moi...).
Voici la fonction :
Aucun remplacement n'est affectué (les mots sont bien chargés et on rentre bien dans la boucle foreach).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 sub autoLinks{ # fonction remplacant les mots contenus dans $text pour lesquels des liens automatiques sont prévus # on récupère les paramètres my ($text,$id) = @_; # on récupère le fichier my ($strLinks) = &importerFichier('./autoLink07/data/'.$id.'.autolink.dat'); my (@links) = split(/<<>>/, $strLinks); # on le parcours et on compare chaque info à celle passée en paramètre my ($strLink) = ''; foreach $strLink (@links){ my (@autoLink) = split(/<>/, $strLink); # pour chaque mot à remplacer, on le remplacer dans le fichier #<span>'.$autoLink[2].'</span> $url = '<a class="autolink" href="http://'.$autoLink[1].'" target="'.$autoLink[3].'">'.$autoLink[0].'</a>'; $mot = $autoLink[0]; #$mot = quotemeta($mot); #$url = quotemeta($url); $text =~ s/$mot/$url/gei ; } # on envoi le résultat return $text; }
Merci de votra aide ...
Partager