|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
rangdalf Nouveau WRInaute
Inscrit le: 20 Avr 2005 Messages: 28
|
Posté le : Mer Déc 05, 2007 11:39 Sujet du message: génération automatique de liens internes |
|
|
Bonjour,
Je souhaite développer mes liens internes, pour cela je pensais à une sorte de glossaire qui renverrai des mots clés vers certaines de mes pages. 1 mot clé = 1 page.
Je souhaiterai remplacer ces mots à la volée, d'où mes questions!
Avec des fonctions style str_replace ou strtr ca ne devrait pas poser trop de probleme pour mes pages.
Par contre comment le faire sur n'importe quel page (ex celle de mon forum) sans tout modifier.
Je pensais à du javascript mais je n'ai aucune idée sur comment le faire.
Existe t il des scripts tout prêt qui le font?
Avez vous des bouts de code pour le faire?
Est ce réalisable sans trop surcharger le serveur?
C'est tout
Ludo |
|
| |
|
 |
pcamliti WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 467 Localisation: Marseille
|
Posté le : Mer Déc 05, 2007 12:08 Sujet du message: génération automatique de liens internes |
|
|
L'idée me séduit aussi, et suis dans la même optique. J'ai tenté de développer un petit script mais en vain.
Si d'autres personnes ont une piste, je suis preneur aussi.
Merci par avance |
|
| |
|
 |
Elvis WRInaute occasionnel

Inscrit le: 20 Mai 2005 Messages: 112
|
Posté le : Mer Déc 05, 2007 12:57 Sujet du message: génération automatique de liens internes |
|
|
Cette idée me séduit aussi, et si je devais mettre en place, je commencerais par créer une table de correspondance avec les champs mot-clé, url, correspondance active (j'aime bien pouvoir tout activer / désactiver quand ça me chante ).
Une table ou un simple fichier texte...
Ensuite je rajouterais une fonction dans la class template que j'utilise ( une antiquité, style celle utilisée par phpBB ) qui remplacerait les mots-clés par le lien correspondant avec un simple str_replace et deux tableaux. |
|
| |
|
 |
Suede WRInaute accro

Inscrit le: 04 Oct 2002 Messages: 3662 Localisation: Suède
|
Posté le : Mer Déc 05, 2007 13:07 Sujet du message: génération automatique de liens internes |
|
|
Si tes textes sont dans une base de donnée, tu as un appel à la base pour afficher les textes. J'ai par exemple une fonction "affiche_message($id,$langue)"
Dans cette fonction, tu rajoutes un traitement de ta chaine.
Je ne sais pas ce qui est le mieux : stockage en base ou non. Ca risque de faire un appel à mysql pour quelque chose qui est plus ou moins statique.
Attention, si tu as beaucoup de mots clefs, tu auras pas mal de remplacement.
Attention aussi si tu as des mots clefs composés.
Avec des expression régulière, tu devrais aussi pouvoir limiter le nombre d'affichage.
François |
|
| |
|
 |
ckarone WRInaute impliqué

Inscrit le: 29 Juin 2004 Messages: 496 Localisation: Luxembourg
|
Posté le : Mer Déc 05, 2007 13:34 Sujet du message: génération automatique de liens internes |
|
|
Salut,
je travail sur le même projet avec des textes dans ma DB.
Le script fonctionne bien pour les mots simple mais pour les mots composés je bloque un peu.
Si vous avez une solution, je prend volontiers!
voilà un post qui peux vous aider : http://www.developpez.net/forums/archive/index.php/t-146084.html |
|
| |
|
 |
rangdalf Nouveau WRInaute
Inscrit le: 20 Avr 2005 Messages: 28
|
Posté le : Mer Déc 05, 2007 13:37 Sujet du message: génération automatique de liens internes |
|
|
Salut Ckarone,
Est il possible de profiter de ton travail?
Autant ne pas réinventer la roue. De plus de cette manière tu pourras avoir des critiques/remarques/avis sur ton code
Et pour la 2ème partie de ma question: Comment le faire de manière transparente sur n'importe quelle page. D'ou ma réflexion de le faire en Javascript.
Ludo |
|
| |
|
 |
Elvis WRInaute occasionnel

Inscrit le: 20 Mai 2005 Messages: 112
|
Posté le : Mer Déc 05, 2007 15:00 Sujet du message: génération automatique de liens internes |
|
|
Je déconseille de le faire en javascript, d'une part ça fait faire du traitement au client qui devrait être fait côté serveur...
D'autre part si c'est en javascript, google captera pas tes liens internes. |
|
| |
|
 |
rangdalf Nouveau WRInaute
Inscrit le: 20 Avr 2005 Messages: 28
|
Posté le : Mer Déc 05, 2007 15:02 Sujet du message: génération automatique de liens internes |
|
|
tout à fait exact  |
|
| |
|
 |
pcamliti WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 467 Localisation: Marseille
|
Posté le : Mer Déc 05, 2007 15:04 Sujet du message: génération automatique de liens internes |
|
|
Merci pour le lien et pour les conseils.
Petite question de geek en php:
| Code: |
| $texte = preg_replace('`\b((joueur)s?)\b`si','<strong><a href="../joueur/index.php">$1</a></strong>',$texte); |
Est-ce que cela dois être placé dans une class ? include ? |
|
| |
|
 |
ckarone WRInaute impliqué

Inscrit le: 29 Juin 2004 Messages: 496 Localisation: Luxembourg
|
Posté le : Mer Déc 05, 2007 15:49 Sujet du message: génération automatique de liens internes |
|
|
Dans mon cas les liens automatiques ne seront affichés que sur un seul type de page dans un paragraphe.
| Code: |
$sql1=" SELECT texte,id,... FROM matable";
$result1 = mysql_query($sql1) or die (mysql_error());
$texte = utf8_decode(stripslashes(mysql_result($result1, 0, 'texte')));
$sql2=" SELECT motcle,id,... FROM matablecle";
$result2 = mysql_query($sql2) or die (mysql_error());
while($row=mysql_fetch_assoc($result2)){
$texte = preg_replace('`\b(('.$row['motcle'].')s?)\b`si','
<a href="ma-page-'.$row['id'].'.html">'.$row['motcle'].'</a>',$texte);
}
echo $textet ;
|
Voilà ce que cela peut donner en s'inpirant du post donné en lien plus haut. |
|
| |
|
 |
Suede WRInaute accro

Inscrit le: 04 Oct 2002 Messages: 3662 Localisation: Suède
|
Posté le : Mer Déc 05, 2007 15:50 Sujet du message: génération automatique de liens internes |
|
|
| pcamliti a écrit: |
Merci pour le lien et pour les conseils.
Petite question de geek en php:
| Code: |
| $texte = preg_replace('`\b((joueur)s?)\b`si','<strong><a href="../joueur/index.php">$1</a></strong>',$texte); |
Est-ce que cela dois être placé dans une class ? include ? |
Si tu as ton script php
| Code: |
<?php
print $texte ;
; ?> |
tu le remplaces par
| Code: |
<?php
$texte = preg_replace('`\b((joueur)s?)\b`si','<strong><a href="../joueur/index.php">$1</a></strong>',$texte);
print $texte ;
; ?>
|
C'est le plus simple. Après, tu peux avoir classe, fonction etc comme tu veux |
|
| |
|
 |
pcamliti WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 467 Localisation: Marseille
|
Posté le : Mer Déc 05, 2007 17:22 Sujet du message: génération automatique de liens internes |
|
|
En clair pour un débutant je recopie
| Code: |
<?php
$texte = preg_replace('`\b((joueur)s?)\b`si','<strong><a href="../joueur/index.php">$1</a></strong>',$texte);
print $texte ;
; ?> |
Dans mon fichier php et tout les textes ici "joueur" deviendront des liens ... |
|
| |
|
 |
dop20vt WRInaute impliqué

Inscrit le: 23 Juin 2007 Messages: 341
|
Posté le : Mer Déc 05, 2007 17:47 Sujet du message: génération automatique de liens internes |
|
|
Je dois être un peu lent mais j'ai pas bien compris le but de la manoeuvre et j'aime pas quand je comprends pas
EDIT : c'est pour faire une sorte de clickintext ? |
|
| |
|
 |
pcamliti WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 467 Localisation: Marseille
|
Posté le : Mer Déc 05, 2007 18:22 Sujet du message: génération automatique de liens internes |
|
|
Oui mais avec liens internes.... si tu as des mots clés importants dans texte style actualités... les liens apparaissent directes sans devoir <a href...></a> etc sur tous les mots
voilà encore des fainéants |
|
| |
|
 |
Elvis WRInaute occasionnel

Inscrit le: 20 Mai 2005 Messages: 112
|
Posté le : Mer Déc 05, 2007 22:58 Sujet du message: génération automatique de liens internes |
|
|
Ouais enfin, fainéants... Ca dépend de la substance à traiter. Si ça concerne quelques pages OK, mais il arrive bien un stade où cette automatisation prend son sens  |
|
| |
|
 |
| |
|
|