私はphpとcodeigniterフレームワークを使用してWebアプリケーションを構築していますが、クライアントの要件の1つは検証から「swear word」フィルタを実装することです。誰もがPHPで書かれた任意の事前構築されたソリューションを知っていますか?あるいは、呪われた言葉の網羅的なリストをPHPの構文配列にフォーマットし、ユーザの入力にその存在を確認することができますか?ありがとう!phpフォームcurse-word入力フィルタソリューション
1
A
答えて
7
This should be able to get you startedが、あなたが自分で悪い言葉を入力する必要があります。 You can download a list of bad words here.
ただし、誓い語フィルタには克服できない問題がいくつかあります。英語はあまりにも柔軟性があり、人々がさまざまな方法で誓いを綴ることを防ぐことができます。 @$$h01e
をブロックすることができても、確実にαṡṡhølε
をブロックすることは決してありません。character translatorで簡単に作成できます。各単語と手紙に20以上の代替候補がある場合、すべての可能性を除外することもできません。
また、誓いの言葉フィルタがあると気づくと、それを妨害する方法を見つけ出すゲームになる可能性があり、これはあなたが始めたよりも誓いにつながります! 人々が誓いたいのであれば、そうする方法を見つけるでしょう。幸いにも、既にこの問題に取り組んでいる多くのサイトがあります。あなたができることは、あなたのウェブサイトとコンテンツの可能な限りの最高の体験を提供し、単純なフラグ機能を提供して、ユーザーが予防できないケースを通知できるようにすることです。
Stackoverflowには呪いの単語フィルタはありません。ここでどのくらいの頻度で誓いをしていますか?人間の仕事をするためにコンピュータを送らないでください。 :D
1
私は絶対にこれが存在することを嫌い、しかしそこには次のようになります。基本的な考え方と
1
これは、これは誰も私に知らせて助け場合、私はクライアントのために作られた冒涜フィルターです://en.wikipedia:D
// function use cleanItUp($cmt:String,$wordlist:String,$character:string,$returnCount:boolean)
//$cmt
// Expects a string;
// ex:'this is a lovely day to walk the dog'
//$wordlist
// Expects a list of words to be replaced seporated by a verticle line '|'
// default world list provided;
// ex:'is|fun|good|dog'
//$character
// Expects a single character to replace each character of the replaced word
// default is an asterix '*'
//$returnCount
// Expects true if you would only like to return the amount of words that were replaced;
// default is set to false
// Usage Example
// using default word list
// cleanItUp('this is a lovely day to walk the dog');
// returns 'this is a lovely day to walk the dog'
// using custom wordlist
// cleanItUp('this is a lovely day to walk the dog','is|day|dog');
// returns 'this ** a lovely *** to walk the ***'
// using custom wordlist and character
// cleanItUp('this is a lovely day to walk the dog','is|day|dog','#');
// returns 'this ## a lovely ### to walk the ###';
// using custom wordlist and setting $returnCount to true
// cleanItUp('this is a lovely day to walk the dog','is|day|dog','#',true);
// returns 3;
function cleanItUp($cmt,$wordlist=null,$character="*",$returnCount=false)
{
if($wordlist==null)
{
$wordlist="nigga|nigger|niggers|sandnigger|sandniggers|sandniggas|sandnigga|honky|honkies|chink|chinks|gook|gooks|wetback|wetbacks|spick|spik|spicks|spiks|bitch|bitches|bitchy|bitching|cunt|cunts|twat|twats|fag|fags|faggot|faggots|faggit|faggits|ass|asses|asshole|assholes|shit|shits|shitty|shity|dick|dicks|pussy|pussies|pussys|fuck|fucks|fucker|fucka|fuckers|fuckas|fucking|fuckin|fucked|motherfucker|motherfuckers|motherfucking|motherfuckin|mothafucker|mothafucka|motherfucka";
}
$replace = 'preg_replace("/./","' .$character .'","\\1")';
$comment = preg_replace("/\b($wordlist)\b/ie", $replace,$cmt,-1,$count);
if($returnCount!=false)
{
return $count;
}
elseif($returnCount!=true)
{
return $comment;
}
}
関連する問題
- 1. フォーム入力タイプphp
- 2. Drupal PHPフォーム入力時に入力
- 3. PHP配列 - フォーム入力
- 4. HTML/PHPフォーム - 入力タイプ "Date"
- 5. HTML/PHP - フォーム - 入力配列
- 6. HTML入力のPHP出力フォーム
- 7. フォームの入力を表示するPHP
- 8. PHP OOPフォームの入力をアップロードする
- 9. preg_match_all from array phpと入力フォーム
- 10. 検索フォームphp/sql複数入力
- 11. PHP - テーブル配列内のフォーム入力
- 12. フォームの境界とphp://の入力をPHPのファイルに入力する
- 13. PHPフォームの検証とデータベースへのフォーム入力の提出
- 14. フォーム入力
- 15. Ajaxフォーム入力
- 16. アクセス入力フォーム
- 17. HTMLフォーム入力
- 18. HTMLフォーム入力
- 19. フォーム入力イベントリスナー
- 20. JSONデータをPHPのhtmlフォーム入力チェックボックスに入れます
- 21. PHPを使用したフォーム入力の入力単純なHTML DOM
- 22. フォームのインライン入力とブロック入力
- 23. Talendユーザー入力フォーム
- 24. HTMLフォーム入力タイトルスタイリング
- 25. フォーム入力属性
- 26. カスタム入力フォーム(Sharepoint)
- 27. Zインデックス入力フォーム
- 28. PDOフォームの入力
- 29. バインドスイッチとフォーム入力
- 30. HTMLフォームの入力は、javascriptとphpで以前のフォーム入力に依存しています。
あなたは、http([無益とエラーが発生しやすい]どのように実現しますか。 org/wiki/Scunthorpe_problem)このタイプのものは何ですか? –
私は@Wesleyに同意します。必要ならばそれをフィルターにかけるが、["お尻"(http://en.wikipedia.org/wiki/Ass)はロバの一種["Scunthorpe"](http://en.wikipedia。 org/wiki/Scunthorpe_problem)はイギリスの町であり[http://www.thefreedictionary.com/sniggers]は笑いを意味する["sniggers"]。 [clbuttic mistake]を見てください(http://thedailywtf.com/Articles/The-Clbuttic-Mistake-.aspx)。 – Spudley
の可能な複製[良い冒涜フィルタを実装するにはどうすればいいですか?](http://stackoverflow.com/questions/273516/how-do-you-implement-a-good-profanity-filter) - その他の結果](http://stackoverflow.com/search?q=php+swear+filter)も同様に、これと共通の落とし穴を実装する方法とディスカッションの両方で説明します。単にクライアントを安らかにするために、ほとんどの一般的な言葉でpreg_replaceを実行します。 –