Envie de filtrer automatiquement certains mots sur les parties publiques de votre site internet (espaces commentaires, forums, etc.) ? Voici un petit tutoriel qui vous montrera deux des nombreuses façons qu'il existe pour réaliser ce genre de système 😉
- Première méthode :
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=filtre;charset=utf8','root','');
$commentaire = "Salut ceci est un commentaire compose de pleins de mots !";
$req = $bdd->query('SELECT * FROM filtre');
$mots = [];
$rp = [];
while($m = $req->fetch()) {
array_push($mots, $m['mot']);
$r = '';
for($i=0;$i<strlen($m['mot']);$i++) {
$r .= '*';
}
array_push($rp, $r);
}
var_dump($mots);
var_dump($rp);
$commentaire = str_replace($mots, $rp, strtolower($commentaire));
$commentaire = ucfirst($commentaire);
echo $commentaire;
?>
- Seconde méthode :
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=filtre;charset=utf8','root','');
$commentaire = "Salut ceci est un commentaire compose de pleins de mots !";
$mots = $bdd->query('SELECT mot FROM filtre');
$mots = $mots->fetchAll(PDO::FETCH_COLUMN);
$rp = $bdd->query('SELECT rp FROM filtre');
$rp = $rp->fetchAll(PDO::FETCH_COLUMN);
var_dump($mots);
var_dump($rp);
$commentaire = str_replace($mots, $rp, strtolower($commentaire));
$commentaire = ucfirst($commentaire);
echo $commentaire;
?>
Votre commentaire