سؤال

ليست تقنية للغاية، ولكن...لا بد لي من تنفيذ مرشح الكلمات السيئة في موقع جديد نقوم بتطويره.لذلك أحتاج إلى قائمة الكلمات السيئة "الجيدة" لتغذية قاعدة بياناتي بها ...أي تلميح / الاتجاه؟أبحث حولي مع جوجل I وجدت هذا واحدة، وهي البداية، ولكن ليس أكثر.

نعم، أعلم أن هذا النوع من المرشحات يمكن الهروب منه بسهولة...ولكن العميل سوف العميل !!!:-)

سيتعين على الموقع تصفية كل من الكلمات الإنجليزية والإيطالية، ولكن بالنسبة للغة الإيطالية، يمكنني أن أطلب من زملائي مساعدتي في قائمة "parolacce" التي أنشأها المجتمع :-) - سيفي البريد الإلكتروني بالغرض.

شكرا على اي مساعدة.

هل كانت مفيدة؟

المحلول

لم أر أي لغة محددة ولكن يمكنك استخدام هذا لـ PHP وسيقوم بإنشاء RegEx لكل عمل مُدرج بحيث يتم حذف الأخطاء الإملائية المتعمدة (على سبيل المثال).@ss, i3itch ) سيتم أيضًا القبض عليه.

<?php

/**
 * @author unkwntech@unkwndesign.com
 **/

if($_GET['act'] == 'do')
 {
    $pattern['a'] = '/[a]/'; $replace['a'] = '[a A @]';
    $pattern['b'] = '/[b]/'; $replace['b'] = '[b B I3 l3 i3]';
    $pattern['c'] = '/[c]/'; $replace['c'] = '(?:[c C (]|[k K])';
    $pattern['d'] = '/[d]/'; $replace['d'] = '[d D]';
    $pattern['e'] = '/[e]/'; $replace['e'] = '[e E 3]';
    $pattern['f'] = '/[f]/'; $replace['f'] = '(?:[f F]|[ph pH Ph PH])';
    $pattern['g'] = '/[g]/'; $replace['g'] = '[g G 6]';
    $pattern['h'] = '/[h]/'; $replace['h'] = '[h H]';
    $pattern['i'] = '/[i]/'; $replace['i'] = '[i I l ! 1]';
    $pattern['j'] = '/[j]/'; $replace['j'] = '[j J]';
    $pattern['k'] = '/[k]/'; $replace['k'] = '(?:[c C (]|[k K])';
    $pattern['l'] = '/[l]/'; $replace['l'] = '[l L 1 ! i]';
    $pattern['m'] = '/[m]/'; $replace['m'] = '[m M]';
    $pattern['n'] = '/[n]/'; $replace['n'] = '[n N]';
    $pattern['o'] = '/[o]/'; $replace['o'] = '[o O 0]';
    $pattern['p'] = '/[p]/'; $replace['p'] = '[p P]';
    $pattern['q'] = '/[q]/'; $replace['q'] = '[q Q 9]';
    $pattern['r'] = '/[r]/'; $replace['r'] = '[r R]';
    $pattern['s'] = '/[s]/'; $replace['s'] = '[s S $ 5]';
    $pattern['t'] = '/[t]/'; $replace['t'] = '[t T 7]';
    $pattern['u'] = '/[u]/'; $replace['u'] = '[u U v V]';
    $pattern['v'] = '/[v]/'; $replace['v'] = '[v V u U]';
    $pattern['w'] = '/[w]/'; $replace['w'] = '[w W vv VV]';
    $pattern['x'] = '/[x]/'; $replace['x'] = '[x X]';
    $pattern['y'] = '/[y]/'; $replace['y'] = '[y Y]';
    $pattern['z'] = '/[z]/'; $replace['z'] = '[z Z 2]';
    $word = str_split(strtolower($_POST['word']));
    $i=0;
    while($i < count($word))
     {
        if(!is_numeric($word[$i]))
         {
            if($word[$i] != ' ' || count($word[$i]) < '1')
             {
                $word[$i] = preg_replace($pattern[$word[$i]], $replace[$word[$i]], $word[$i]);
             }
         }
        $i++;
     }
    //$word = "/" . implode('', $word) . "/";
    echo implode('', $word);
 }

if($_GET['act'] == 'list')
 {
    $link = mysql_connect('localhost', 'username', 'password', '1');
    mysql_select_db('peoples');
    $sql = "SELECT word FROM filters";
    $result = mysql_query($sql, $link);
    $i=0;
    while($i < mysql_num_rows($result))
     {
        echo mysql_result($result, $i, 'word') . "<br />";
        $i++;
     }
     echo '<hr>';
 }
?>
<html>
    <head>
        <title>RegEx Generator</title>
    </head>
    <body>
        <form action='badword.php?act=do' method='post'>
            Word: <input type='text' name='word' /><br />
            <input type='submit' value='Generate' />
        </form>
        <a href="badword.php?act=list">List Words</a>
    </body>
</html>

نصائح أخرى

احترس من أخطاء كلبوتية.

"لقد ارتكبت شركة Apple الخطأ الفادح المتمثل في طرد صاحب الرؤية - أعني، انظر إلى ما كانت تخطط له شركة NeXT!"

همم."كلبوتي".

جوجل "clbuttic" - آلاف الزيارات!

هناك من يسمي سيارته "clbuttic".

توجد لوحات رسائل "Clbuttic Steam Engine".

قاموس ويبستر - لا مساعدة.

همم.ماذا يمكن أن يكون هذا؟

تَلمِيح:الأشخاص الذين يقومون بتصوير حول البرامج النصية الخاصة بهم regex ، سوف يتم إحرازها عندما يكررون هذا الخطأ mbuttive.

يحتوي Shutterstock على Github repo مع قائمة الكلمات السيئة تستخدم للتصفية.

يمكنك التحقق من ذلك هنا: https://github.com/shutterstock/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words

إذا كان أي شخص يحتاج إلى واجهة برمجة التطبيقات، فإن Google توفر حاليًا مؤشرًا للكلمات السيئة.

http://www.wdyl.com/profanity?q=naughtyword

{
response: "false"
}

تحديث:قامت Google الآن بإزالة هذه الخدمة.

أود أن أقول أنه عليك فقط إزالة المنشورات عندما تصبح على علم بها، وحظر المستخدمين الذين يبالغون في الصراحة في منشوراتهم.يمكنك قول أشياء مسيئة للغاية دون استخدام أي كلمات بذيئة.إذا قمت بحظر كلمة ass (المعروفة أيضًا باسم حمار)، فسيقوم الأشخاص فقط بكتابة $$ أو /\55، أو أي شيء آخر يحتاجون إلى كتابته لتجاوز عامل التصفية.

إجراء 1+ على خطأ Clbuttic، أعتقد أنه من المهم لمرشحات "الكلمات السيئة" البحث عن كل من المسافات البادئة والزائدة (على سبيل المثال، " ass ") بدلاً من البحث عن السلسلة الدقيقة فقط حتى لا يكون لدينا كلمات مثل clbuttic ، كلبوتس، زبدة، بعقب، الخ.

ويكيبيديا ClueBot لديه مرشح كلمة سيئة، وقراءة مصدره.

http://en.wikipedia.org/wiki/User:ClueBot/Source#Score_list

يمكنك دائمًا إقناع العميل بعقد جلسة من المستخدمين فقط لنشر الشتائم باستمرار وإيجاد حل سهل لإضافتها إلى النظام.إنه عمل كثير ولكنه سيكون على الأرجح أكثر تمثيلاً للمجتمع.

أثناء بحثي في ​​هذا الموضوع، قررت أن المطلوب هو أكثر من مجرد قائمة تقوم بالاستبدالات التعسفية.لقد قمت ببناء خدمة ويب تسمح لك بتحديد مستوى "النظافة" الذي تريده.كما أنه يبذل جهدًا لتحديد الإيجابيات الكاذبة - أي.حيث قد تكون الكلمة سيئة في سياق واحد ولكن ليس في سياقات أخرى.نلقي نظرة على http://filterlanguage.com

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top