問題タブ [profanity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4534 参照

javascript - 文字列内の冒とく的な言葉を置き換えるための正規表現

テキスト文字列内の一連の単語を置き換えようとしています。今、私はうまく機能しないループを持っています:

###!より速く動作するものと、悪い単語を元の単語と同じ長さのマークに置き換えるものが欲しい.

0 投票する
3 に答える
431 参照

php - 望ましくないコンテンツをブロックするための設計パターン

昨年、私はクリスマス プロジェクトに取り組んでいました。このプロジェクトでは、顧客がクリスマス リクエスト用に 256 文字の自由テキスト フィールドを使用してメールを相互に送信できるようにしていました。このプロジェクトは、(非常に大規模な) 製品データベースを検索して、テキスト フィールドに一致する提案製品を探しましたが、問題の製品を見つけることができなかった顧客には自由なテキスト オプションを提供しました。

明らかな懸念の 1 つは、顧客が疑いを持たない顧客に対して、会社のブランドが周囲にある状態でかなり露骨な要求を送信する機会があることでした。

プロジェクトは、さまざまな理由で最終的には進行しませんでした。冒涜的な側面もその 1 つです。

しかし、私はプロジェクトについて考え、ここでどのような種類の検証を使用できるか疑問に思いました。私は、この種の質問に対する標準的な回答であるclbutticを認識しています。

私が検討した解決策は次のとおりです。

  • WebPurify のようなものを実行します
  • MechanicalTurk を使用する
  • リスト内の単語を探す正規表現パターンを記述します。これのより複雑なバージョンでは、単語の複数形と過去時制も考慮されます。
  • 疑わしい単語の配列を書き、それぞれにスコアを付けます。提出物がスコアを上回った場合、検証は失敗します。

したがって、2 つの質問があります。

  1. 提出が失敗した場合、UI の観点からどのように処理しますか?
  2. これらのソリューションの長所と短所、または提案できる他のソリューションは何ですか?

注意 - 「冒とく的なフィルターは悪」などの回答は関係ありません。この半仮説的な状況では、冒涜フィルターを実装することを決定していないか、実装するかどうかの選択を与えられていません。私は自分のプログラミング スキル (可能であれば LAMP スタック上にある必要があります) でできる限りのことをしなければなりません。

0 投票する
2 に答える
385 参照

language-agnostic - ユーザーが冒とく的な表現を入力するのを防ぐにはどうすればよいですか?

重複の可能性:
適切な冒涜フィルターをどのように実装しますか?

入力としてユーザーから都市名を取得する必要がありますが、冒とく的な表現は受け入れたくありません。ユーザーがそのような単語を入力しないようにする方法を誰か教えてもらえますか?

0 投票する
3 に答える
3201 参照

php - 正規表現 preg_quote 記号が検出されない

データベースに悪口の辞書があり、次のようにするとうまくいきます

$tは入力テキストで、単純に$f = preg_quote("punk"); "punk"はデータベース ディクショナリからのものであるため、ループのこの時点での式は次のようになります。

preg_quoteシンボルを置き換えます。#式がエスケープさ\\#れるようにしますが、辞書がチェックしている場合など。"F@CK"または、これらの記号は上記の式の入力文字列で検出されません。辞書にはとの"A$$"両方がありますが、機能しません。単語を削除すると、これらの記号はエスケープされないため、正規表現は無効になります。a$$f@ckpreg_quote()

検出方法に関する提案はあります"a$$"か???

編集:

したがって、意図したとおりに機能しない表現は、たとえば.

f@ckを見つけるべきもの$t

アップデート:

これは私の使い方です。$mreplace them withに一致するものがあれば"\*\*\*\*"、このブロック全体が辞書内の各単語のループ内にあり、$fが辞書の単語で$tあり、 が入力です

更新:見よ、var_dump

更新: これは、単語が記号で終わる場合にのみ発生します。テスト"a$$hole"しましたが、問題ありませんが、"a$$"機能しません。

別の更新: この簡略化され$wordsたバージョンをお試しください。その場しのぎの辞書です

私は結果として見ることを期待する必要が"Input whatever you feel like here eg. \*\*\*"あります。

0 投票する
1 に答える
798 参照

php - 文字列は句読点を区切り文字として使用して分割されています。句読点を再組み立てして元に戻す方法は?

Trie データ構造を使用して冒涜フィルターを実装しています。すべての悪口はトライに追加されます。冒とく的な表現を削除する文字列がある場合は、句読点を使用して文字列を分解し、すべての単語をトライでチェックします。見つかった場合は、アスタリスクに置き換えます。次に、文字列を内破します。問題は、句読点をどのように追跡するかということです。つまり、結果の文字列に句読点があることを確認するにはどうすればよいですか?

0 投票する
2 に答える
11470 参照

c# - ウェブサイト用のオープンソース/無料の.NET冒とく的なフィルターはありますか?

オープンソース/無料の.NET冒とく的なフィルター(正確にはASP.NET MVC)を知っていますか?グーグルで検索しましたが、思いつきませんでした。可能であれば、完全に自分で実装することは避けたいと思います。間違いを犯したり、何かを見落としたりするのはとても簡単です。

0 投票する
1 に答える
2149 参照

asp.net-mvc-2 - ASP.NET MVCでテキストボックスの不適切な単語をフィルタリングするにはどうすればよいですか?

テキストボックスの値をフィルタリングするという要件があります。つまり、ユーザーが入力した不適切な単語を削除する必要があります。ユーザーが不適切な言葉を入力して送信ボタンをクリックすると、アクションが呼び出されます。モデルのどこか(任意の場所)で、不適切な単語を削除し、フィルタリングされた値をモデルに再バインドできるはずです。

これどうやってするの?

0 投票する
3 に答える
23505 参照

regex - 正規表現を使用した冒涜フィルタ (100 語のリスト)

指定された文字列から冒涜的な単語を削除する正しい方法は何ですか:
1) 文字列の配列で検索する 100 単語のリストがあります。2) 部分的な単語を処理する正しい方法は何ですか? ほとんどの人はこれをどのように処理しますか? たとえば、質量という言葉。また、部分的な単語も悪い場合があります - foobar が非常に冒涜的な単語であると仮定すると、foobar と foobar* と *foobar を禁止したい場合があります。

では、すべての単語を 1 つの式に入れるか、それともリストをループしますか?

それに対処する正しい方法は何ですか?私は Groovy/Grails を使用していますが、最新の言語の例を歓迎します。

0 投票する
0 に答える
967 参照

php - 悪い単語の大規模なリストを含むPHPおよびMySQLテーブルを使用して、テキストメッセージの冒とく的な表現を効率的に検出する

多言語の不適切な単語の大きなリスト(約5000語)を含むmysqlテーブルがあります。ユーザーが作成したテキストメッセージ内の冒とく的な言葉を除外する効率的な方法を見つける必要があります。悪い言葉のリストが大きいので、phpregexを使用することは私には適切ではないようです。

また、メッセージを単語に分割してから各単語をクエリすることは、ユーザーが大きなメッセージを投稿するトラフィックの多いサイトにとっては恐ろしい解決策です。多くのユーザーがこのサービスを同時に使用するため、最適化されたソリューションが必要です。

助言がありますか?または、正規表現が適切だと思われる場合は、CPU/メモリ使用量と実行時間の観点から実現可能性を説明できますか?