Liens automatiques

Rui -  
s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je cherche un moyen de creer aumatiquement des liens dans un text, si possible en PHP.

Exemple: Je veux que les mots "boussoles", "montres", "voiture" etc (qui seront stocke's dans un champ de DB) soient automatiquement transforme's en <a href="./lien/boussoles.htm">boussoles</a>. En gros les mots a traiter sont dans la base de donnee's et les url a dispatcher sur ces mots le sont aussi. J'ai deja vu ce genre de chose sur des sites et je suppose que c'est automatique.

J'ai bien cherche' sur Google "lien automatique php" ou des mots clefs du genre mais je trouve rien, enfin je pense que je ne cherche pas avec les bons mots.

Alors est ce que quelqu'un me donner une idee? Quelles fonctions PHP pratiques existent? Je voudrais faire ce de facon efficace et legere. Le mieux serait un plugin tout fait ou un tutorial. A la rigeur, meme le nom qu'on donne a cette technique pourrait vraiment m'aider.


Merci d'avance

Rui
A voir également:

1 réponse

s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention   618
 
Salut,

Tu peux créer une fonction du genre


Façon simple :
function MettreLien($Texte)
{

	$string = array(
		"boussoles" => '<a href="./lien/boussoles.html">boussoles</a>',
		"montres" => '<a href="./lien/montres.html">montres</a>'
	);
	$Texte = strtr("$Texte", $string);
	return $Texte;

}


Façon compliqué :
<?php

//On détermine les mots à remplacer
$mots_sans_lien = array(
	"boussoles",
	"montres"
);
function MettreLien($Texte,$mots_sans_lien)
{

	
	//On créer les liens à partir des mots
	$chaine = '<a href="./lien/%s.html">%s</a>';
	foreach($mots_sans_lien AS $mot)
		{
			$mot_avec_lien[$mot] = sprintf($chaine, $mot, $mot);
			
		}
	
	//On remplace les mots par des liens
	$Texte = strtr($Texte, $mot_avec_lien);
	return $Texte;
}
	
	
$tset='Je jette mes boussoles et mes montres';
echo MettreLien($tset);
?>


Pour utiliser la fonction il suffit de faire passer ton texte dedans ^^

echo MettreLien($donnes['texte_a_remplcer']);


Bon ça je viens de le pondre, il a sûrement d'autre façon de faire.
0