Trouver un mot et le rendre en lien
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !
Voilà, je souhaite que dans le texte qui s'affiche, mon script puisse détecter une chaîne de caractère et le transformer en lien hypertexte.
Je récupère la liste de mes mots:
Et là j'ai essayé un
J'ai des conseils à faire afficher et lorsque le texte contient le nom d'un produit, celui ci est automatiquement transformé en lien hypertexte avec une redirection vers son ID.
Pouvez-vous m'orienter svp ?
Merci d'avance
Voilà, je souhaite que dans le texte qui s'affiche, mon script puisse détecter une chaîne de caractère et le transformer en lien hypertexte.
Je récupère la liste de mes mots:
$stat_p = $pdo->query("SELECT * FROM ".$TB_PRODUITS." "); while($data = $stat_p->fetch(PDO::FETCH_ASSOC)){
$Le_produit = array($data["Libelle"].','); };
Et là j'ai essayé un
str_replacemais me suis rendu compte que ça serait trop long à coder étant donné que j'ai plus de 900 mots à gérer... et en plus le remplacement est compliqué... en bref, j'ai merdé :\
J'ai des conseils à faire afficher et lorsque le texte contient le nom d'un produit, celui ci est automatiquement transformé en lien hypertexte avec une redirection vers son ID.
Pouvez-vous m'orienter svp ?
Merci d'avance
5 réponses
-
Merci Pitet ! T'est mon héro !
Ca marche impec comme je voulais ! -
Salut,
Un exemple de solution possible :$texte = 'Lorem ipsum dolor sit amet, Produit 1 consectetur adipiscing elit. Produit 2 laoreet nisi erat, eget Produit 3 viverra magna consectetur sagittis.'; $produits = array( array('id' => 1, 'Libelle' => 'Produit 1'), array('id' => 2, 'Libelle' => 'Produit 2'), array('id' => 3, 'Libelle' => 'Produit 3') ); foreach ($produits as $produit) { $lien = '<a href="/produit.php?id=' . $produit['id'] . '">' . $produit['Libelle'] . '</a>'; $texte = str_replace($produit['Libelle'], $lien, $texte); } echo $texte;
N'ayant pas accès à ta bdd, j'ai créé un tableau $produits correspondant aux données récupérées depuis la base.
Bonne journée -
Merci Pitet ! C'est exactement ça ! maintenant je vais l'adapter et voir ce que ça donne.
Merci infiniment !
ps: je ne met pas résolu maintenant :D -
J'avoue que je suis perdu sur cette partie là:
$produits = array( array('id' => 1, 'Libelle' => 'Produit 1'), array('id' => 2, 'Libelle' => 'Produit 2'), array('id' => 3, 'Libelle' => 'Produit 3') );
Je sais que ma tentative est idiote mais voilà :$stat_p = $pdo->query("SELECT * FROM ".$TB_PRODUITS); while($dataa = $stat_p->fetch(PDO::FETCH_ASSOC)) { $produits = array('id' => $dataa["NumId"], 'Libelle' => $dataa["Libelle"]); }
Et voici ma table :CREATE TABLE IF NOT EXISTS `tb_produits` ( `NumId` int(11) NOT NULL, `Libelle` varchar(255) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour Pitet et désolé de re-ouvrir ce sujet.
Je rencontre un soucis, le code se perd en lui même.
<?php $Sujet = $data["Sujet"]; $stat_p = $pdo->query("SELECT * FROM ".$TB_PRODUITS); $produits = $stat_p->fetchAll(PDO::FETCH_ASSOC); foreach ($produits as $produit) { $img_ok = "../images/produits/".$produit['Code'].".png"; $lien = '<a class="Lien_souligne_point tooltip" href="'.URL_RACINE.'/produits/item.php?p='.$produit['NumId'].'">'.$produit['Libelle'].'<span> <div class="div_conseil_1"><img src="'.$img_ok.'" alt="'.$produit['Libelle'].'" class="div_conseil_2"/></div> <div class="Justifier div_conseil_3">'.$produit['Description'].'<br><br><div class="Font_Gris div_conseil_4">'.$produit['Contenance'].'</div></div></span></a>'; $Libelle = $produit["Libelle"]; $Sujet = str_replace($Libelle, $lien, $Sujet);} echo nl2br($Sujet); ?>Je voudrais savoir si tu pouvais m'aider une fois encore à trouver d'où vient cette erreur.
Cordialement.