Aller au contenu

Sujets conseillés

Posté

Bonjour et bonnes fêtes à tous,

Je souhaiterais transformer certains mots clés contenus dans les pages de mon site en liens de façons automatique. Par exemple à chaque fois que le mot "bidule" apparait il s'affiche sous forme de liens vers une autre page sans avoir à mére de balise a href à chaque fois.

Posté

ce n'est pas vraiment ce qui est le mieux, car on se retrouve avec des liens sans vraiment de rapport à cause d'homonymies

Posté

Comme le dit Léonick, ce n'est pas toujours évident; il ne faudrait le faire que sur des termes très précis (pour faire un glossaire, par exemple).

Je te conseillerais également de ne le faire que sur la première occurence du mot dans ton texte, et pas à chaque fois qu'il apparaît.

Un petit exemple (très rapide, il y a sans aucun doute des défauts à corriger) :

Il faut tout d'abord créer un tableau (array) de correspondance, avec comme clé le mot à remplacer, et comme valeur l'url de destination.

Ensuite, le code pourrait ressembler à ça :

<?php
$tab_mots = array(
'Google' => 'http://www.google.fr',
'Live Search' => 'http://www.live.com',
'Yahoo!' => 'http://fr.yahoo.com'
);

$texte = "Google, yahoo! et Live Search sont les moteurs de recherche les plus utilisés en France, bien que Google soit largement plus utilisé que les autres avec plus de 80% d'utilisation en 2007.";

foreach($tab_mots as $mot => $url) {
$reg = "|$mot|i";
$texte = preg_replace($reg, '<a href="'.$url.'">'.$mot.'</a>', $texte, 1);
}

echo $texte;
?>

Comme tu peux le constater, le dernier argument de la fonction preg_replace lui indique que la remplacement ne doit se faire qu'une seule fois par mot. Ainsi, le second "Google" n'est pas transformé en lien.

Posté

Desolé pour ma reponse tardive et merci pour les votres.

Pour le probléme d'homonyme sa devrait aller car il s'agit de créer des liens sur des noms d'avions (generalement complexes). Pour les aray sa me parai pas mal, je vais essayer et je verrai.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...