Aller au contenu

cdpdf

Membre
  • Compteur de contenus

    3
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre

À propos de cdpdf

  • Date de naissance 11/06/1983

Information du profil

  • Genre
    Homme
  • Localisation
    1200
  1. Merci beaucoup tisha_carpenter pour cette réponse, J'ai cependant encore différents problèmes. Je ne comprend pas pourquoi avec la fonction suivante, les accents des mots sont considérés comme inexistants. // La fonction function extraire_mots($html) { $balises=implode('|',array('head','script','h[1-6]','a')); // les exclusions $regex='#<('.$balises.')[\s>].+?</\1>|</?[^>]+>|[^\w<]+#si'; $mots=preg_split($regex,$html,-1,PREG_SPLIT_NO_EMPTY); return '\''.implode('\',\'',array_unique(array_map('strtolower',$mots))).'\''; } De plus, j'ai dans ma base de donnée des mots avec des espaces genre "webmaster hub" ou encore des mots aves des tirets genre "tisha-carpenter" et parfois avec des apostrophes "l'apéro"tout ces mots ne ressortent pas avec la requête WHERE mot IN ('webmaster','hub','un webmaster hub','des','gros','mots','et','aussi','lien','qui','ne','doit','pas','tre','modifi','mais','ce','mot','protection','converti'). je n'arrive pas non plus à utiliser la fonction ajouter_liens à mon cas. Pour le moment mon code est function parser($text) { $sortie = array(); $mot = array(); $sortie = array(); $sqlquery=$xoopsDB->query("SELECT id, name from mabase ORDER LENGTH(name) DESC"); //la requête while ($sqlfetch=$xoopsDB->fetchArray($sqlquery)) { $id = $sqlfetch['id']; $name = $myts->sanitizeForDisplay($sqlfetch['name']); if (stristr($text,$name) ) { // si le mot se trouve dans le texte if (stristr($name,' ') ) {// si le mot est un mot composé $topictexturl = urlencode($name); $nameb = str_replace(" ","-", $name); //j'ai été obligé de supprimer les espaces des mots composés car j'ai aussi bien des définitions pour "webmaster" que pour "webmaster hub" (c'est un exemple) $mot[] = ('`\b(('.$name.')s?)\b`si'); $sortie[] = '<a href="id='.$id.'&mot='.$topictexturl.'">'.$nameb.'</a>'; } else {// si le mot n'est pas un mot composé $topictexturl = urlencode($name); $mot[] = ('`[^->abcdeéèfghijklmnopqrstuvwxyz](('.$name.')s?)\b`si'); $sortie[] = '<a href="id='.$id.'&mot='.$topictexturl.'">$1</a>'; } } } $text = preg_replace($mot,$sortie,$text,2); return $text; } Pour moi mon code ne fonctionne pas bien du tout car * je suis obligé de tester tous les mots de ma base de donnée (plus de 2000) ça fait mal à ma base à chaque fois. * obligé de rajouter des tirets pour tous les mots composés * je ne sais pas évité de faire des changement dans les balises (un point très important) * et surement encore d'autres problème que je ne vois pas. Merci d'avance Christophe
  2. Merci tisha_carpenter pour ce code, Mais j'ai juste un problème pour pouvoir l'appliquer à un de mes sites. Le problème est que chacun de mes mots est attaché à un id et qu'il faut que l'id se trouve dans l'url Christophe
  3. Bonjour à tous, Je trouve que c'est un chiffre tout à fait normal. Par exemple pour moi, je me suis inscrit, il y a de ça très longtemps, mais je n'avais jamais vraiment pris le temps d'écrire un message. Et c'est uniquement en voyant ce message que je me dis qu'il est peut être temps de prendre part au forum. Christophe Editer : j'ai mis presque DEUX ans pour écrire mon premier message
×
×
  • Créer...