Remplacer texte d'une page par lien via BDD

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Protanim, 24 Novembre 2008.

  1. Protanim
    Protanim WRInaute occasionnel
    Inscrit:
    2 Avril 2005
    Messages:
    254
    J'aime reçus:
    0
    Bonjour

    J'aimerais ajouter sur mon site une fonctionnalité que je vois sur pas mal de site. A savoir ajouter automatiquement un lien vers une page sur des mots contenus dans ma base de données.
    Exemple dès que le mot "Tomate" apparait dans le contenu d'un article, un lien se fait pour renvoyer vers une page que j'aurai précisée dans la BDD Mysql parlant de la tomate.
    Je m'explique très mal mais je suis sur que vous aurez compris.

    Je souhaite principalement m'en servir pour renvoyer vers mon glossaire pour expliquer les mots compliqués aux utilisateurs.

    Pourriez vous m'expliquer comment ça marche, voire m'indiquer le code PHP que je dois mettre en place.

    Merci d'avance
     
  2. dmathieu
    dmathieu WRInaute accro
    Inscrit:
    9 Janvier 2004
    Messages:
    5 596
    J'aime reçus:
    0
    Pour chacun des mots :

    Code:
    $str = str_replace($mot, '<a href="http://www.example.com/glossaire/'.$mot.'>'.$mot.'</a>', $str);
    Voir aussi : http://fr3.php.net/str_replace

    A toi ensuite de sélectionner tous les mots de ta base et de faire les replace appropriés.
     
  3. Protanim
    Protanim WRInaute occasionnel
    Inscrit:
    2 Avril 2005
    Messages:
    254
    J'aime reçus:
    0
    Merci pour ton aide.

    J'avais bien vu cette fonction en cherchant dans le guide php mais justement je doutais que ce soit la bonne. Car je n'arrivais pas à faire le lien avec la liste de mots dans la base de données
    J'ai fait une base du style id, mot, adresse. J'arrive pas à insérer dans le str_replace la fonction permettant de voir si dans mon texte il y a un mot qui existe dans la base et si oui, le mettre dans le str_replace.

    Je sais, je suis nul !
     
  4. dmathieu
    dmathieu WRInaute accro
    Inscrit:
    9 Janvier 2004
    Messages:
    5 596
    J'aime reçus:
    0
    Code:
    $sql = 'SELECT *
    FROM `mots_base`';
    $query = mysql_query($sql) or die(mysql_error());
    
    while ($fetch = mysql_fetch_array($query)) {
    $str = str_replace($fetch['mot'], '<a href="http://www.example.com/glossaire/'.$mot.'">'.$mot.'</a>', $str);
    }
    
    echo $str;
     
  5. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 601
    J'aime reçus:
    4
    Le souci avec ce type de fonction est que
    - si le mot tomate est stocké dans la base de données, et que le mot "tomates" est présent dans le texte, ca va faire un joli <a href="/glossaire/tomate.html">tomate</a>s
    - si il y a dans la base de données le mot tomate rouge, il peut y avoir un double traitement dans le texte traité
    - si le texte à traiter contient déjà des images, des liens, toute balise html, leur code peut être également traité par la requête: genre <img src="/images/tomate.jpg"/> deviendra <img src="/images/<a href="/glossaire/tomate.html">tomate</a>.jpg"/>.
     
  6. BadProcESs
    BadProcESs WRInaute passionné
    Inscrit:
    28 Juillet 2003
    Messages:
    1 821
    J'aime reçus:
    0
    Expression régulière ?
     
  7. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 601
    J'aime reçus:
    4
    Oui, avec aussi une hiérarchisation des requetes, pour pas que "tomate" ne soit traité si "tomate rouge" ne l'est.

    Bon après si le texte à traiter n'est que du texte, sans balise html, ca peut se faire. Mais c'est plus complexe qu'il n'y paraît
     
  8. flam
    flam Nouveau WRInaute
    Inscrit:
    16 Juillet 2004
    Messages:
    8
    J'aime reçus:
    0
    Je rencontre exactement ces problèmes si quelqu'un a un script utilisant les expressions régulières. Je suis preneur.
    A+
     
  9. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 021
    J'aime reçus:
    1
Chargement...
Similar Threads - Remplacer lien BDD Forum Date
Peut-on remplacer un lien dans la SERP ? Problèmes de référencement spécifiques à vos sites 27 Juin 2015
Lien sur plusieurs éléments : remplacer par du JS Débuter en référencement 20 Mars 2014
Remplacer tous les liens indésirables dans une URL Développement d'un site Web ou d'une appli mobile 23 Mars 2009
[Résolu] Remplacer URL trop longues par des liens cliquables Développement d'un site Web ou d'une appli mobile 12 Avril 2007
[Résolu] PHP-Remplacer une image (lien) par un lien texte Développement d'un site Web ou d'une appli mobile 3 Janvier 2007
Remplacer l'action d'un bouton par son lien ? Administration d'un site Web 29 Septembre 2005
remplacer les espaces par des "-" dans les liens P URL Rewriting et .htaccess 20 Décembre 2004
Htacces : comment remplacer _ par : URL Rewriting et .htaccess 18 Juin 2019
remplacer version desktop par version mobile first Problèmes de référencement spécifiques à vos sites 19 Mai 2019
WordPress Par quoi remplacer MailPoet ? Débuter en référencement 1 Février 2019
Dans un script, Remplacer le mode « hasard » par le mode « suivant » Développement d'un site Web ou d'une appli mobile 3 Novembre 2018
Un logiciel pour remplacer Google Analytics ? Google Analytics 20 Juin 2018
Remplacer des redirections 302 en 301 Développement d'un site Web ou d'une appli mobile 23 Mai 2018
Remplacer une url par une autre URL Rewriting et .htaccess 29 Octobre 2016
Dans un formulaire, remplacer l’apostrophe dactylographique par l’apostrophe typographique Développement d'un site Web ou d'une appli mobile 18 Février 2016
Remplacer les underscores par des tirets URL Rewriting et .htaccess 1 Septembre 2015
modifier et remplacer le contenu des pages web pour google Rédaction web et référencement 7 Août 2014
Remplacer textarea par une editeur de texte Développement d'un site Web ou d'une appli mobile 20 Juin 2014
Remplacer page référencée par une autre. Débuter en référencement 28 Octobre 2013
Remplacer des tags obsolètes Rédaction web et référencement 12 Septembre 2013