Page 1 sur 1
Recherche de mots dans texte et association à une variable
Posté : 02 mars 2016, 15:42
par gandolfin
Bonjour,
Je cherche à automatiser une tache sur mon site.
Je récupère des textes des utilisateurs que je dois ensuite complèter pour les mots clés et le titre puis valider.
Je voudrais automatiquement créer des tags selon le contenu du texe à inserer dans wordpress et modifier le titre.
Pou rcela il faudrait que je puisse comparer le texte à une liste de mots clés auquels correspondent des tags que j'ai pré-rentrés.
Exemple:
Texte --> "Sortie au macoumba ce weekend"
Mots clés 1--> if "macoumba" else "$tags = boite de nuit,marseille,discotheque'
mots clés 2 --> if "cuba libre" else "$tags = discotheque,aix en provence"
mots clés 3....
Cela me retourné le tag "boite de nuit,marseille,discotheque"
il faudrait que je puisse verifier si le texte contient les mots clés 1,2,3.... non soumis à la casse pour ensuite y associer les tags que j'ai rentré (boite de nuit, marseille, dicotheque).
Quel est à votre avis la methode la plus rapide ?
je vous remercie
Re: Recherche de mots dans texte et association à une variable
Posté : 02 mars 2016, 15:56
par Ryle
Bonjour,
Tout dépend de ton contexte, de la longueur du texte, du nombre de mots clés, de la façon dont tu stockes et compares les données... On ne procédera pas de la même façon s'il faut contrôler les mots clés d'un titre de 7-8 mots (où il suffit de boucler sur chaque mot) que d'un texte de 5000 mots.
De même si tu n'as que 10-12 mots clés ou si tu en as 500, le traitement ne sera pas le même.
En fonction des volumes tu verras s'il est préférable de faire une boucle sur les mots du texte pour savoir s'il existent dans les mots clés, ou sur les mots clés pour voir s'ils sont présent dans ton texte.
En fonction du mode de stockage, tu pourras utiliser des expressions régulières insensibles à la casse ou des requêtes SQL.
Bref... c'est difficile de te dire ce qui est le plus rapide, le plus simple ou le plus propre sans avoir tout le contexte

Re: Recherche de mots dans texte et association à une variable
Posté : 02 mars 2016, 16:06
par gandolfin
merci pour ta reponse si rapide.
Le texte fait environ 500 mots et je compte avoir une centaine de mots clés à comparer. c'est un script que j'appelle 2 fois par semaine seulement.
je vais chercher les infos en direct puis je les stocke dans mas base sql comme un article wordpress.
je peux soit appliqué cette comparaison à la volée avant d’insérer tout cela dans la base (ce que je prefererais à priori).
Sinon je pourrais revenir sur la bdd une fois l’article écrit pour rajouter les tags mais à ce moment là il faudrait que je développe un script plus complet pour traiter tous les articles existants et pouvoir insérer automatiquement les tags ou les modifier apres coup. Comme une sorte de plugin.
Re: Recherche de mots dans texte et association à une variable
Posté : 08 mars 2016, 10:50
par gandolfin
une petite idée pour que je commence mon projet ?
Re: Recherche de mots dans texte et association à une variable
Posté : 08 mars 2016, 11:59
par @rthur
Bonjour,
Un tableau qui contient en clé ton (ou tes) mots clés et en valeur les tags associés
Et ensuite une boucle foreach() sur toutes les valeurs de ton tableau qui va regarder avec un preg_match() si ton texte contient les mots clés recherchés.
Dans l'idée :
$texte = "Sortie au macoumba ce weekend";
$tablo_tags = array(
"macoumba" => "boite de nuit,marseille,discotheque",
"cuba libre" => "discotheque,aix en provence"
);
foreach($tablo_tags as $motcle => $tags) {
if (preg_match("`".$motcle."`i", $texte)) {
// Là tu fait ton traitement pour assigner tes tags qui sont dans la variable $tags
}
}
Re: Recherche de mots dans texte et association à une variable
Posté : 09 mars 2016, 15:44
par gandolfin
merci beaucoup. Vous m'avez fait gagner du temps.
Pensez vous qu'il vaut mieux je le fasse :
- A la volée quand je récupère les textes avant de les enregistrer dans la bdd. Sachant que je récupère une cinquantaine de texte max quand je lance le script.
- dans la bdd après avoir enregistré tous les textes.
Merci
Re: Recherche de mots dans texte et association à une variable
Posté : 09 mars 2016, 17:27
par @rthur
Si ça fonctionne à la volée (en terme de temps de traitement notamment), je pense que c'est mieux et + simple/souple de le faire à la volée
Re: Recherche de mots dans texte et association à une variable
Posté : 11 mars 2016, 10:09
par gandolfin
Je vais coder cela et vérifier le timeout pour l'execution du script.
merci beaucoup.