8
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NGワードを考えるのが面倒な人向けにサンプル集を作りました

Last updated at Posted at 2016-05-07

YouTubeやニコニコ動画を自由に貼れるサービスを運用してると、きわどい動画が貼られてしまいGoogle AdSenseが停止されるという事が起こったりします。

お客様のウェブサイトに AdSense のプログラム ポリシーに準拠していないサイトがあり、その結果、そのウェブサイトへの広告配信が停止されていることをお知らせいたします。

悲しい。

ちなみに広告が復活するまでカスタマーと3回程メールのやり取りを行いました。
対策しました(該当投稿削除)→駄目です(他にもあるやろ)→対策しました(ブラックリスト方式)→駄目です(タイトルとタグ適当で中身がアウトの動画があるよね?だから駄目やで。)→対策しました(ホワイトリスト方式)→ええで。→やったぜ。


ブラックリスト方式の時に作ったNGワード集を公開したいと思います。
言語はPHPで、チェック用の関数になっています。

##YouTube用

/*
* NGワードチェック(YouTube)
*
* @access public
* @param string $word タイトルや本文
* @return bool
*
*/
function ngWordCheck($word = ''){
    $ngArray = array(
            '事故','死亡','骨折','重傷','殺害','傷害','暴力','被害者','放送事故',
            'ポルノ','アダルト','セックス','バイブレーター','マスターベーション','オナニー','スケベ','羞恥','セクロス',
            'エッチ','SEX','風俗','童貞','ペニス','巨乳','ロリ','触手','羞恥','ノーブラ','手ブラ',
            'ローアングル','禁断','Tバック','グラビア','美尻','お尻','セクシー','無修正',
            '大麻','麻薬',
            '基地外','糞','死ね','殺す',
            'shit','piss','fuck','cunt','cocksucker','motherfucker','tits',
    );
    $ngList = '/' . implode('|',$ngArray) . '/' ;
    $f = preg_match($ngList,$word);

    if($f == '1'){
        return true;
    }else{
        return false;
    }

}

##ニコニコ動画用
こちらはタグにも対応。
ニコニコ生放送:運営NGワード一覧あたりを見て調整しています。

/*
* NGワードチェック(ニコニコ動画)
*
* @access public
* @param string $word タイトルや本文
* @param array $tags タグの配列
* @return bool
*
*/
function ngWordCheck($word = '',$tags = array()){

    $ngArray = array(
            '事故','死亡','骨折','重傷','殺害','傷害','暴力','被害者','放送事故',
            'ポルノ','アダルト','セックス','バイブレーター','マスターベーション','オナニー','スケベ','羞恥','セクロス',
            'エッチ','SEX','風俗','童貞','ペニス','巨乳','ロリ','触手','羞恥','ノーブラ',
            '大麻','麻薬',
            '基地外','糞','死ね','殺す',
            'shit','piss','fuck','cunt','cocksucker','motherfucker','tits',
    );
    $ngList = '/' . implode('|',$ngArray) . '/' ;
    $f = preg_match($ngList,$word);

    //NGタグチェック
    $ngArrayTag = array(
            'R18','R-18','例のアレ','真夏の夜の淫夢','アヘ顔','亀頭','へんたい','ヘンタイ','変態','パンチラ',
            '♂','アッー','アナル','アヘ顔','イマラ','淫','運営のお気に入り','エッチ','MKT','おっぱい','オッパイ','オナシャス','ガチムチ',
            '姦','元祖羞恥心','亀頭','KMR','糞','クルルァ','グロ','ゲイ','ケツ','殺','シコ','自分を売る',
            '18禁','春画','処女','ショタ','パイパン','フェラ','ふたなり','ペニス','へんたい','ヘンタイ','変態','ホモ',
            'マラ','まんこ','マンコ','野獣','幼女','ょぅ','レイプ','レズ','ろり','ロリ','セックス','せっくす',
            '安心のコメ率','レスリングシリーズ','来いよアグネス','紳士','運営仕事しろ','例のプール',
        );
    $ngListTag = '/' . implode('|',$ngArrayTag) . '/' ;
    foreach($tags as $value){
        if(preg_match($ngListTag,$value)){
            return true;
        }
    }

    if($f == '1'){
        return true;
    }else{
        return false;
    }

}
8
12
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?