Cherche programme ou script qui met un lien sur un nom donné

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

Mawashigeri
Nouveau WRInaute
 
Messages: 28
Inscription: Sam Jan 21, 2006 16:17

Cherche programme ou script qui met un lien sur un nom donné

Message le Lun Juin 12, 2006 18:03

Bonjour à tous,

Je recherche un programme ou un script qui permettrait d'afficher par automatisme des liens enregistrés dans une base de données ou dans un fichier précis. (par appel require ou autre).

Je m'explique: par exemple sur wikipedia.org, quand on tape n'importe quels mots, (exemple bateau :lol: ) j'ai tous des liens qui pointent vers des pages précises.

J'imagine que ce n'est pas l'écrivain ou le webmaster qui fait à chaque fois les liens, et donc qu'il doit avoir un script ou un fichier qui est appelé avec à l'intérieur, bateau = ||http://fr.wikipedia.org/wiki/Bateau|| , navires de commerce = ||http://fr.wikipedia.org/wiki/Bateau#Navires_de_commerce||

Pourriez-vous me dire si quelqu'un connait un tel script ou un tel programme ?
Ou si quelq'un pourrait me dire coment je peux le créer ou encore trouver de la documentation la dessus ?

Car j'en ai fortement besoin pour mes cours :)

Je vous remercie d'avance :wink:


finstreet
WRInaute accro
WRInaute accro
 
Messages: 10468
Inscription: Dim Juil 10, 2005 12:39

Message le Lun Juin 12, 2006 19:57

essaye de regarder du coté de clickintext... c aussi ce qu'ils font

billyboylindien
WRInaute passionné
WRInaute passionné
 
Messages: 578
Inscription: Lun Fév 28, 2005 22:25

Message le Lun Juin 12, 2006 20:03

Sur wikipedia il faut utilisr une syntaxe wiki c'est pas automatique


medium69
WRInaute accro
WRInaute accro
 
Messages: 2182
Inscription: Sam Mai 07, 2005 9:36

Message le Lun Juin 12, 2006 21:28

Détrompe toi :!:

Pour être contributeur sur Wikipédia, je peux t'assurer que c'est les contributeurs qui indique dans le texte quel mot doit avoir un lien vers une définition.

Pour ma part, j'ai commencé à monté un glossaire avec le principe du BBcode inséré dans la BDD.

Pour avoir réfléchi à ton problème pour moi-même, j'ai la solution pour toi.

Il faut s'y prendre en plusieurs étapes :

:arrow: Tout d'abord, tu crée une table par exemple avec les mots à recherché dans un texte avec les pluriels éventuels, expression (dans ce cas tu prend par exemple le premier mot de l'expression) ou féminisation de mot.
Tes champs idéal :
- 1/ mot comme il doit être dans le texte (sing. plur. etc.) ou premier mot d'une expression.
- 2/ si le mot en question est une expression, un autre champ contenant l'expression complète

Les recherches seront faite sur la clé 1 qui sera indéxée.

:arrow: Tu sépare ton texte $chaine en mots séparé avec cela
Code: Tout sélectionner
$keywords = preg_split("/([\s,\.;:?!()]+)/", $chaine, -1, PREG_SPLIT_NO_EMPTY);


:arrow: Tu ne garde qu'une occurence de chaque termes (tu peux aussi améliorer en ne gardant que les mots supérieurs à x caractères, ou en bannir d'autres courant.
Code: Tout sélectionner
$keyword_unique = array_unique ($keywords);


:arrow: Tu recherche dans ta BDD de mots à définir tous les mots du tableau $keyword_unique. en récupérant soit le terme de la clé 1 ou, si il s'agit d'une expression, la clé 2.
Tu as donc un nouveau tableau $def avec tous les mots singulier, pluriels, expression, etc. potentiellement présent dans ton texte.

:arrow: Maintenant, tu as un tableau de ce genre
Code: Tout sélectionner
$def = array('mot', 'expression en plusieurs mot', 'définition', et un dernier', 'etc');


:arrow: il faut pouvoir avoir des url cohérente maintenant. donc on crée un autre tableau à partir de $def, pour pouvoir traité les caractères.
Code: Tout sélectionner
function traitementCaractereUrl($var) {   
   $var = eregi_replace('[.°()]', '', $var);
   $var = eregi_replace('[ \'/]', '-', $var);
   $var = eregi_replace('[+]', 'plus', $var);
   $var = eregi_replace('[áà]', 'a', $var);
   $var = eregi_replace('[ç]', 'c', $var);
   $var = eregi_replace('[éèê]', 'e', $var);
   $var = eregi_replace('[É]', 'E', $var);
   $var = eregi_replace('[îï]', 'i', $var);
   $var = eregi_replace('[ôöø]', 'o', $var);
   $var = eregi_replace('[û]', 'u', $var);
   
   return $var;
}

for ($nb = 0; $nb < count($def); $nb ++) {
   $def_url[$nb] = traitementCaractereUrl($var[$nb]);
   }


Tu as maintenant 3 variables :
Code: Tout sélectionner
$chaine = 'L'ensemble de ton texte que tu as écrit. Maintenant tu veux repérer les mots à définir';
$def = array('mot', 'expression en plusieurs mot', 'définition', 'et un dernier', 'etc');
$def_url = array('mot', 'expression-en-plusieurs-mot', 'definition', 'et-un-dernier', 'etc');


Tu peux enfin traiter ton texte en ne mettant un lien que vers la première occurence que l'on trouve :
Code: Tout sélectionner
for   ($nb = 0; $nb < count($def); $nb ++) {
   $chaine = preg_replace('/(\b)('.$def[$nb].')(\b)/Ui', '$1<a href="http://www.domaine.com/definition-'.$def_url[$nb].'.html" title="définition de $2">$2</a>$3', $chaine, 1);
}


Tu as toutes les données pour construire voire améliorerer ton code.

Tu peux améliorer ce code de multiple manière...

Je te donne là ce que j'ai pour le moment car j'y travaille pour l'améliorer et l'optimiser.

PS.
J'ai relu le code. je ne pense pas avoir fait d'erreur mais à voir quand même.

Si cela t'intéresse je te donnerais mon code définitif que j'aurais mis en place sur mon site quand il sera ok.


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15896
Inscription: Ven Avr 19, 2002 19:51

Message le Jeu Juil 13, 2006 7:01

merci pour ces infos et ce code. Pourrais-tu détailler ce passage que je n'ai pas assez bien compris ?
Tu recherche dans ta BDD de mots à définir tous les mots du tableau $keyword_unique. en récupérant soit le terme de la clé 1 ou, si il s'agit d'une expression, la clé 2.
Tu as donc un nouveau tableau $def avec tous les mots singulier, pluriels, expression, etc. potentiellement présent dans ton texte.

Maintenant, tu as un tableau de ce genre
Code: Tout sélectionner
$def = array('mot', 'expression en plusieurs mot', 'définition', et un dernier', 'etc');


medium69
WRInaute accro
WRInaute accro
 
Messages: 2182
Inscription: Sam Mai 07, 2005 9:36

Message le Jeu Juil 13, 2006 14:57

Depuis, j'ai modifié et amélioré le code... qui n'était pas trop au top.

Je m'occupe durant les jours qui viennent d''en faire une copie exploitable par autrui et je vous le fournirais sur le forum si vous voulez...


medium69
WRInaute accro
WRInaute accro
 
Messages: 2182
Inscription: Sam Mai 07, 2005 9:36

Message le Sam Juil 15, 2006 9:24

j'ai mis le script en question ici : http://www.webrankinfo.com/forums/viewtopic_55674.htm


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités