Aller au contenu

Des liens dynamiques


xpatval

Sujets conseillés

Bonjour,

j'ai une table texte, un champ texte, au format text. (normal, c'est du texte :fou: )

Après requête, j'affiche le texte.

Maintenant, dans le texte, certains mots servent de liens.

La première méthode est d'inclure les bonnes balises (<a>) là où il faut.

Je souhaiterais procéder autrement, à savoir, générer dynamiquement la balise lien. (le href pouvant lui aussi être dynamique).

Quelles possibilités ais-je pour réaliser cela ?

Inclure un tag spécial qui, lorsqu'il est rencontré (parse du texte ?), appelle une fonction de génération de balise <a> ?

Y-a-t-il une autre méthode ?

Merci de vos réponses,

xpatval

Lien vers le commentaire
Partager sur d’autres sites

Non, il faut le faire à l'artisanale :

<?php
$q = mysql_query($sql);
$f = mysql_fetch_array($q);
$chaine = $f['tonchamptxt'];
$tonmot = 'ton mot';
$ch1 = "<a href='lapage.php?mot=";
echo $tonmot;
echo "'>$tonmot</a>";
$chaine = ereg_replace($tonmot,$ch1,$chaine);
?>

Tu peux aussi changer tous les mots que tu trouve dans une base de donnée :

<?php
$q = mysql_query($sql); // pour ces deux requetes,
$f = mysql_fetch_array($q); //voir plus haut :lol:
$q2 = mysql_query($sql2);
//sql2 contient une requete qui te sort tous les
//mots à mettre en lien
while($f2 = mysql_fetch_array($q2)){
$chaine = $f['tonchamptxt'];
//$f a été définie sur le code que tu as
//plus haut...
$tonmot = $f2['tonmot'];
$ch1 = "<a href='lapage.php?mot=";
echo $tonmot;
echo "'>$tonmot</a>";
$chaine = ereg_replace($tonmot,$ch1,$chaine);
}
?>

Modifié par bigornot
Lien vers le commentaire
Partager sur d’autres sites

Autrement dit, avec cette méthode:

<?php
$q = mysql_query($sql);
$f = mysql_fetch_array($q);
$chaine = $f['tonchamptxt'];
$tonmot = 'ton mot';
$ch1 = "<a href='lapage.php?mot=";
echo $tonmot;
echo "'>$tonmot</a>";
$chaine = ereg_replace($tonmot,$ch1,$chaine);
?>

, je suis obligé de définir un $tonmot par autant de mots ayant besoin du traitement ?

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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