Bonjour,

J'aimerais créer un petit filtre pour des mots bannis dans un moteur de recherche, j'imagine comment m'y prendre sans savoir comment le faire proprement..

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
// je peux créer ceci
 
$mots = str_replace('sexe', ' bateau', $mots);
 
// le mot sexe sera remplacé par bateau...
j'ai donc dans mon code déjà ceci et j'aimerais pouvoir mettre dans un tableau tous mes mots banni pour être renplacer par le terme bateau si ceux -ci sont bien trouvé dans la requete utilisé par un visiteur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
 
$mots = str_replace('>', ' ', trim($keywords)); 	
$mots = str_replace('<', ' ', $mots); 	
$mots = str_replace('\'', ' ', $mots); 	
$mots = str_replace(',', ' ', $mots); 	
$mots = str_replace(':', ' ', $mots); 	
$mots = str_replace('+', ' ', $mots);
 
// ci-dessous, mon code pour le filtre qui ne fonctionne pas, car même si dans ma requete le mot clef utilisé est gratuit il me le remplace par bateau...
 
$mots = array("sex", "sexe", "porno", "xxx", "xxxx", "xxxxx", "pornographie", "pedophile", "pédophile", "teen", "teens", "porn");
$yule = str_replace($mots, "", "bateau");
 
$mots ="$yule";
 
 
// suite du code.....
 
// +------ On sépare les mots clefs et on reforme la chaine avec des + devant chaque mots qui a + de 3 caractères (les autres sont ignorés) !
 
	 $tablo = explode (' ',$mots); 	
  	 $min= 2; // la longeur minimal d'un mot (sachant que le code supprime les mots de 0 a $min caractère(s) compris ! 	
  	 $list_mts_clef = '';//declare la liste des mots clefs 	
  	 foreach ($tablo as $value) 	
  	 	{ 	
  	 	if ($value != ' ' && (strlen($value) >$min)) // permet de supprimer un eventuel espace ou un mot trop court 	
  	 		{ 	
 	 		$mots2 .= '+'.$value.' '; 	
 	 	} 	
  	 }
 
//etc.....
Merci pour votre aide et solution

Cordialement
Yule