recherche multiple et tableaux variables (prise de tête)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : recherche multiple et tableaux variables (prise de tête)

merci et autre petite question

par Invité » 08 août 2008, 14:36

merci steph, entre temps j'avais fait ça:
foreach ($array2 as $phrase)
{	
        $u=0;
	for ($i=0;$i<$nb_mot;$i++)
	{
            if (ereg($array1[$i],$phrase))
           {
	        $u=$u+1;
           }
	}
		
	if ($u==$nb_mot)
	{
         echo $phrase.'<br/>';
         }	
}
Sinon j'ai une petite question:
$term='et'
$string='il y a une fleur et un navet dans les forets''
$pattern= $term.'(\s)';
(ereg($term,$string) me retourne forets et non navet ...une idée?

par steph29 » 08 août 2008, 10:15

tu pourra difficilement faire mieux... il faut bien verifier chaque mot...
une autre version possible:
foreach ($array2 as $phrase) 
{  
      //on recupere les mots de la phrase
      $mots_phrase=split(" ",$phrase);
      $valide_phrase=true;
      foreach ($array1 as $my_mot){
         if (!in_array($my_mot,$mots_phrase) { 
             $valide_phrase=false;
          } 
     }
     if ($valide_phrase) echo 'bravo!';

}
en mixant les deux et en optimisant on doit arriver a un resultat interressant

par Invité » 08 août 2008, 10:09

J'ai essayé ça
nb_mot=count($array1);
foreach ($array2 as $phrase)
{
      for ($i=0;$i<$nb_mot;$i++)
      {
         if (ereg($array1[$i],$phrase))
         {
           echo $cd.'<br/>';
           }
     }
}
mais le probleme c'est que ça vérifie si chaque mot(array1) est présent un par un dans chaque phrase. Or moi je veut savoir si tous les mots sont présent en même temps.
j'espère que c'est un peu plus clair.
Merci à tous[/php][/code]

par Sékiltoyai » 08 août 2008, 09:39

foreach pour parcourir le table, et preg_match() pour chercher dans la chaine.

par steph29 » 08 août 2008, 09:28

tu as essaye quoi deja..? :wink:

recherche multiple et tableaux variables (prise de tête)

par strongwave » 08 août 2008, 09:22

Bonjour,

J'ai un problème qui me prend la tête depuis 2 jours:

J'ai un tableau simple (array1). Chaque valeur est un mot ((pomme),(banane),(poire),(je),(manger)..). Mais le nombre de valeur est variable.
J'ai un second tableau simple(array2) dont chaque valeur contient une chaine longue (il faut manger des pommes et des poires....)

et je souhaiterais que pour chaque valeur de array2, on vérifie si tous les mots de array1 sont présent.

ça ne me poserait pas de problème si le nombre de valeurs de array1 était fixe mais il est généré suivant une recherche.

Je vous assure que j'ai tout essayé en fonction de mais connaissances.
Merci à vous