Autor | Zpráva | ||
---|---|---|---|
Celebi Profil |
#1 · Zasláno: 8. 5. 2006, 11:19:26
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 * |
#2 · Zasláno: 8. 5. 2006, 11:28:41
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 |
#3 · Zasláno: 8. 5. 2006, 11:33:11
Nebo pouzij funkci stristr, ktera je case-insensitive
http://de2.php.net/manual/en/function.stristr.php |
||
Pól Profil * |
#4 · Zasláno: 8. 5. 2006, 11:58:04
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 * |
#5 · Zasláno: 8. 5. 2006, 12:01:59
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 * |
#6 · Zasláno: 8. 5. 2006, 12:04:54
Omlouvám, se takhle to má být.
$text = eregi_replace('(pič.*)[^A-a0-9] ', '(zakázáno) ', $text); |
||
souki Profil |
#7 · Zasláno: 8. 5. 2006, 12:32:53
Pól
škoda že to potom odflitruje i kropiče a podobné.... |
||
Pól Profil * |
#8 · Zasláno: 8. 5. 2006, 12:46:14
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 |
#9 · Zasláno: 8. 5. 2006, 12:50:16
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 |
#10 · Zasláno: 8. 5. 2006, 13:00:47 · Upravil/a: marat
:)) njn
|
||
Pól Profil * |
#11 · Zasláno: 8. 5. 2006, 13:10:36
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 |
#12 · Zasláno: 8. 5. 2006, 13:12:56
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í... |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0