Fórum moderáció - nem kívánt szavak kezelése
Sziasztok!
A cégnél ahol dolgozom azt a feladatot kaptam hogy fejlesszek le egy általános fórum rendszert. A fórumban szeretném kezelni a nem kívánt szavakat. Első lépésként készítettem egy bad words táblát ahova fel lesznek töltve a nem kívánt szavak. Az hogy magát a csúnya szót kiszűrje és helyette mondjuk három csillagot helyezzen el az nem éppen a legmegfelelőbb mert ugye a szar szót kifogja csillagozni a szarvas szóban is.
Tervbe van még vége, hogy Levensthein távolsággal vizsgálom a szavakat, de jelenleg még azt sem tartom a legmegfelelőbbnek mert ugye ha valaki halmozza az olyan nem kívánt szavakat melyek szerepelnek a táblában, mindezt egybe írva, akkor ugye szó egyezésnél egy csúnya szó kevés százalékot fog kapni szó egyezésre és a rendszer ebben az esetben nem szól a fórum moderátornak hogy problémás egy post.
Arra lennék kíváncsi hogy ti foglalkoztatok e már ilyen jellegű fejlesztéssel és hogy van e jól működő megoldásotok a problémára amit szívesen megosztanátok itt a fórumon. Vagy esetleg ismertek olyan oldalakat ahol ezt boncolgatják.
Közben én is keresem a gugliban de a hatákonyság miatt ide is beírtam.
Előre is köszönöm
re: Fórum moderáció - nem kívánt szavak kezelése
Szerintem a táblát ki kellene egészítened egy pontos egyezés oszloppal. Példádban lévő kifejezés pontos egyezés (szó hossz) esetén a szarvast érintetlenül hagyná a moderátor modul. Van azonban jó sok olyan szó, kifejezés, ahol ez az opció nem kell.
re: Fórum moderáció - nem kívánt szavak kezelése
Ehhez a részhez nem értek, de talán mégis segít egy kicsit:
Idézet:
Az alábbi mezőben adhatjuk meg az összes cenzúrázni kívánt szót. A szavakat szóközzel kell elválasztani. Például így adjuk meg a szavakat "kutya macska", ne vesszővel mint "kutya, macska."
Ha itt megadjuk a "kutya" szót, akkor minden szó, amiben a "kutya" karakterek előfordulnak cenzúrázva lesz (kutyakölyök-ből például "*****kölyök" lesz). A cenzúrát pontosítani is tudjuk, hogy csak egyező szóra érvényesüljenek. A cenzúrázni kívánt szót ilyenkor kapcsos zárójelbe kell rakni: {kutya}. A "kutya" kapcsos zárójelben történő megadása esetén tehát a kutyakölyök kutyakölyök marad, a kutya viszont "*****" lesz. Ezeket váltogatni is lehet, a lista így nézhet ki: macska {kutya} {egér} valami
Ez a fórumban a cenzúra beállításhoz a "használati utasítás"..
Én nem tudom, de lehet, hogy te ki tudod kaparni a kódból, hogy ezt hogyan oldják meg.. viszont ha konkrétan akarod meghatározni, akkor tényleg sok munkád lesz vele.. minden egyes toldalékot előfordulási és elírási lehetőséget bele kell venned..
re: Fórum moderáció - nem kívánt szavak kezelése
en pontos egyezesre kiszednem a szot, reszlegesnel pedig ugy vizsgalnam a halmozast hogy lekapnam a szobol az egyezo reszt aztan a maradekon megint atfuttatnam az osszes tiltott szot es ezt addig futtani amig talal egyezest ha az osszes darab tiltott akkor kiszednem a szot.
a ragokra szinten ez a procedura jo. osszeszeded az osszes ragot, berakod tombbe es amikor vizsgalsz egy szot hozza rakod az osszes ragod es ugyis ellenorzol. a toldalek+kotoszo ugyanez
re: Fórum moderáció - nem kívánt szavak kezelése
Anno más fórumban ahol moderátor vagyok ezzel mi is próbálkoztunk, de nagyon ügyesen játsszák ki a rendszert a felhasználók (pl. pontot, más karaktert írnak be, ill. szóközt, aláhúzásjelet tesznek, vagy szándékosan cserélnek össze betűket, e miatt végeláthatatlan lett volna a listánk, így abbahagytuk, helyette a moderációs jelentés jól működik (és e miatt 3 moderátor van, hogy valaki biztos a gépnél van).
re: Fórum moderáció - nem kívánt szavak kezelése
Ahol moderátor és admin vagyok fórumokon, csak is a manuális technika a működőképes, ahogy ChrIsDry is írta, nagyon találékonyak a vérPistike userek, sőt, ezzel a "virág" rendszerrel, még provokálod is őket ( ? ), egy megoldás van, egy "állandó" support...
Szerintem.
re: Fórum moderáció - nem kívánt szavak kezelése
én is chris megoldását találom az egyik leg járhatóbbnak. Moderálás direktben.
Bár lehetne rá "intelligenciát" fejleszteni, amely súlyozgat folyamatosan, de sok redundanciát szülne, iszonyatos idő volna megoldani valamint sok erőforrást vinne el :D
re: Fórum moderáció - nem kívánt szavak kezelése
Ez pont a századik hozzászólásom, ezért teljes kódot kapsz :)
Egyszer tartottam egy PHP szakkört, pont odaillő téma. Létrehozol egy tömböt, majd foreach-csel végigmész és kicseréled a tömb elemeit csillagokra.
PHP kód:
$be=clean_post($_POST['hozzaszolas']);
function clean_post($in) {
static $banned=array('abc','def','ghi');
foreach ($banned as $t) {
$mask=str_repeat('*',strlen($t));
$in=eregi_replace($t,$mask,$in);
}
return $in;
}
re: Fórum moderáció - nem kívánt szavak kezelése
Sazt' vedd figyelembe, hogy ez szótöredékeket cserél csillagokra. Tehát a szarvasgombát kicsillagozza a kaksi alternatívája miatt a szó elején. Ugyanezt a megoldást lehet használni arra az esetre is, ha csak teljes szóegyezést szeretnél kicsillagozni.
Pár szóközt kell ugyanebbe a kódba beszúrni, de meghagyom neked azt az élvezetet, hogy megfejtsd hova
re: Fórum moderáció - nem kívánt szavak kezelése
ez rossz megoldas,mert ahogy a temanyito is irta ez a szar szoban a , bar mint latom mar te is rajottel. es a szokozoles sem jo megolds, mert mi van ha egy pont utan irom a nem kivant szot,vagy berakom csillagok koze?
es a szohalmozasrol akkor meg nem is beszeltunk.
ezt sajnos egy parsoros koddal nem lehet megoldani,es a 100% az valoban az emberi moderacio
Idézet:
Ashtor eredeti hozzászólása
Ez pont a századik hozzászólásom, ezért teljes kódot kapsz :)
Egyszer tartottam egy PHP szakkört, pont odaillő téma. Létrehozol egy tömböt, majd foreach-csel végigmész és kicseréled a tömb elemeit csillagokra.
update:
es no offense, de nem lehet hogy a rossz oldalon voltal a php szakkororon? :)