Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nepoželjne reči

[es] :: PHP :: Nepoželjne reči

[ Pregleda: 1941 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gradimir s.

Član broj: 238840
Poruke: 6
*.teol.net.



Profil

icon Nepoželjne reči19.06.2010. u 12:46 - pre 168 meseci
Pozdrav,
Imam sajt na kom korisnici dodavaju vlastiti sadržaj (fore, viceve i sl). Hoću da ubacim neke nepoželjne reči (psovke i sl.) koje se nebi upisivale u bazu kada bi ih korisnik unio. Koristim phpmyadmin, da li mi neko može pomoći oko ovog?
PS. Početnik sam za php i mysql, zato se izvinjavam ako je ovo neko noob pitanje i sl.
 
Odgovor na temu

maksvel

Član broj: 107376
Poruke: 2417

Jabber: maksvel
Sajt: maksvel.in.rs


+161 Profil

icon Re: Nepoželjne reči19.06.2010. u 13:25 - pre 168 meseci
Ovo je pitanje pre za PHP - treba ti neki word-cenzoring, kao što ima ES npr. Po unosu sadržaja, parsira se isti i, ako sadrži te reči, stavlja zvezdice ili upozorava itd.
Spisak nedozvoljenih reči možeš držati u fajlu npr.
Verujem da ima tih skripti na netu, npr. http://script.wareseeker.com/PHP/php-censor.zip/14378
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
178.22.216.*



+34 Profil

icon Re: Nepoželjne reči19.06.2010. u 15:37 - pre 168 meseci
Pretpostavljam da radis validaciju objekta pre nego sto ga upises u bazu;
Code:

  foreach (Forbiddenword::getAll() as $word){
    if (preg_match('/[ \.]?' . $word->name . '[ \.]?/i', $this->description)){
      $this->getErrorStack()->add('description', 'Do not use forbidden words'); // ili return false, zavisno od tvog programa
        break ;
    }
  }


Znaci uzmes listu zabranjenih reci i za svaku rec uradis preg_match u 'description' polju (tj. onoga sto je korisnik uneo). Ako postoji neka od zabranjenih reci, upozoris korisnika da bude kulturniji.
 
Odgovor na temu

batika

Član broj: 72401
Poruke: 67
89.216.68.*



Profil

icon Re: Nepoželjne reči20.07.2010. u 14:04 - pre 167 meseci
Mislim da ti je brze da napravis niz sa nepozeljnim recima i da koristis str_replace - brzi je od preg_match

npr.

Code:

$ban[] = '.ebi';
$ban[] = 'mrs';


i onda ide provera kao sto Mitke rece


Code:


foreach($ban as $b) {
  $text = str_replace($b, '', $text);
}



a ako hoces samo upozorenje da das korisniku onda radis str_pos koji ti pronalazi rec u tekstu
 
Odgovor na temu

[es] :: PHP :: Nepoželjne reči

[ Pregleda: 1941 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.