Autor Zpráva
Celebi
Profil
Ve svém fóru mám vyřazovač sprostých slov fungující zhruba takto:
$trans = array("sprosteslovo" => "[Zrušeno.]");
$text=strtr("$text", $trans);
Jenomže pokud někdo napíše sprosté slovo velkými písmeny nebo prosřídá velká a malá písmena, tak tam to slovo zůszatne.
Potřeboval bych aby to bralo velká písmena stejně jako malá. Ale pozor: Zbytek řetězce musí zůstat s velkými písmeny.
Anonymní
Profil *
Tak to celé slovo převeď na velká písmena ( nebo malá ) a pak s tím dál pracuj.
strtoupper(SprosteSlovo) == SPROSTESLOVO
Hugo
Profil
Nebo pouzij funkci stristr, ktera je case-insensitive

http://de2.php.net/manual/en/function.stristr.php
Pól
Profil *
Popřípadě ještě pomocí funkce eregi_replace.

Není cytlivá na velikost písmen a umí nahradit i podobná slova.

eregi_replace na php.net - http://php.ftp.cvut.cz/manual/cs/function.eregi-replace.php

př.:
$text = "Ahoj ty zasraná pičo.";
eregi_replace('(pič).* ', '(zakázáno) ', $text);
Pól
Profil *
Malá úprava toho scriptu. Já věděl, že to na poprvé nepůjde, to bych pak nebyl já :)


$text = "Ahoj ty zasraná pičo. a ty taky.";
$text = eregi_replace('(pič.*) [^A-a]', '(zakázáno) ', $text);
echo $text;


Mělo by to odstranit všechny tvary slova ****.
Pól
Profil *
Omlouvám, se takhle to má být.

$text = eregi_replace('(pič.*)[^A-a0-9] ', '(zakázáno) ', $text);
souki
Profil
Pól
škoda že to potom odflitruje i kropiče a podobné....
Pól
Profil *
souki

Jo to máš pravdu. Tak jsem to tedy ošetřil.

$text = eregi_replace('[^A-a0-9](pič.*)[^A-a0-9] ', ' (zakázáno) ', $text);
souki
Profil
Pól
ted tím ale zase projde pi.č.a
prostě neni jednoduchý najít kompromis mezi použitelností fóra a dokonalostí zabezpečení... vždycky se najdou slova, která ten filtr vezme s sebou a jsou v tom naprosto nevinně....
druhá věc je filtrování slov zbytečně jako na tomto fóru slovo b.anán... neivm jak k tomu chudák přišel... možná konkurenčí boj =)=)=)
marat
Profil
:)) njn
Pól
Profil *
souki

Snaha byla :)
Ale já osobně neznám, žádné fórum a jsem tomu rád, kde by se dlovo **** skloňovalo ve všech pádech a tvarech. Navíc jsem prošel výsledky Google na slova,keré by bylo vhodné použít do tohoto blokování a zkoušel jsem ta slova, které by to blokovat nemělo a výsledek mě potěšil. Nevidím v použitelnosti problém, dále si to už musí každý upravit na míru dialektu komunity lidí na jeho webu. A kde všemu jsem odpověděl na dotaz :)
souki
Profil
Pól
jasně... já momentálně řešim taky filtrování fóra, tak jsem se vyjádřil.... nakonec jsem ale jako nejpoužitelnější možnost zvolil možnost jednoduchého filtrování a následné ruční namátkové kontroly a IP blokování...
Toto téma je uzamčeno. Odpověď nelze zaslat.