Création de liens automatiques
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 :
Code:
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;
} |
Aucun remplacement n'est affectué (les mots sont bien chargés et on rentre bien dans la boucle foreach).
Merci de votra aide ... :roll: