J'ai un tableau des fruits, et je voudrais rechercher, en utilisant preg_match, le terme 'pommes' par exemple, alors que dans mon tableau il y a 'pomme':
$fruits = array('pomme', 'fraise', 'kiwi');
merci$var='|0_pomme|1_fraise|2_kiwi|';
if(preg_match('#pomme[s]"#isU',$var,$matches)){
}
ou un foreach pour tester chaque valeurforeach($array as $valeur){
if(preg_match('#pomme[s]"#isU',$var,$matches)){
}
}// exemple de phrase
$contenu = 'Je mange des fruits, comme la banane, les pommes et des kiwis ...'; // j'aurais 2 resultats (pomme et kiwis)
// a chercher
$fruits = array('pomme', 'fraise', 'kiwi');
foreach($fruits as $k)
{
if(preg_match('#'.$k.'#i', $contenu))
{
$e = 'Le mot "'.$k.'" a ete trouve.';
return true;
}
return false;
} // end foreach
dans ce cas, si j'ai plusieurs resultats, j'aurais:// exemple de phrase
$contenu = 'Je mange des fruits, comme la banane, les pommes et des kiwis ...'; // j'aurais 2 resultats (pomme et kiwis)
// a chercher
$fruits = array('pomme', 'fraise', 'kiwi');
foreach($fruits as $k)
{
if(preg_match('#'.$k.'#i', $contenu))
{
$e = '"'.$k.'" ==> 'ICI sont equivalent de recherche dans le contenu';
return true;
}
return false;
} // end foreach
2 resultats trouves:<?php
// exemple de phrase
$contenu = 'Je mange des fruits, comme la banane, les pommes et des kiwis ...'; // j'aurais 2 resultats (pomme et kiwis)
// a chercher
$fruits = array('pomme', 'fraise', 'kiwi');
$i=0;
$mot='';
foreach($fruits as $k){
if(preg_match('#'.$k.'[s]#i', $contenu,$smatch)){
$i++;
$mot.=$k." ==> ".$smatch[0]."<br />";
}
}
if($i>=1){
$mot=substr($mot,0,-2);
echo $i." resultats trouves:<br /><br />".$mot;
}
else{
echo'Aucun mot trouve';
}
?>
affichera<?php
// exemple de phrase
$contenu = 'Je mange des fruits, comme la banane, les pommes et des kiwis pomme-de-terre ...'; // j'aurais 2 resultats (pomme et kiwis)
// a chercher
$fruits = array('pomme', 'fraise', 'kiwi');
$i=0;
$mot='';
foreach($fruits as $k){
if(preg_match_all('#'.$k.'(s|[a-z-]+)#i', $contenu,$smatch)){
foreach($smatch[0] as $value){
if(isset($value) and !empty($value)){$i++;$mot.=$k." ==> ".$value."<br />";}
}
}
}
if($i>=1){
$mot=substr($mot,0,-2);
echo $i." resultats trouves:<br /><br />".$mot;
}
else{
echo'Aucun mot trouve';
}
?>