PHPでフォーム送信の際に禁止ワードのチェック及び制限をかける方法
2024/01/15
掲示板等のformを送信する際に特定の禁止ワードが含まれていないかチェックするプログラムというのを以前JavaScriptで作ったけどPHP版も必要になった。以下に実装方法をメモ。
JavaScript版
https://taitan916.info/blog/archives/2609
PHP版ソース
<?php
/* 手続き型版 */
$body = 'tsesあああtaaa'; //チェックしたい本文
$ng_words = array('test','hoge','あああ'); //禁止ワード
$flg = 0;
foreach( $ng_words as $word ){
if(strpos($body, $word) !== false){
$flg = 1;
break;
}
}
if( $flg ){
//禁止ワードが含まれている場合の処理
}else{
//禁止ワードが含まれていない場合の処理
}
/* 関数版 */
function check_word( $check_data ){
$ng_words = array('test','hoge','あああ'); //禁止ワード
$flg = true;
foreach( $ng_words as $word ){
if(strpos($check_data, $word) !== false){
$flg = false;
break;
}
}
return $flg; //禁止ワードが含まれていればfalse、含まれていなければtrueを返す
}
その他
$bodyのところを$_POST['bbs_body']とかで受け取ったものにすれば良い。また、JavaScript側からAjaxで送信してチェックするという使い方もいける。
関連記事
-
-
PHPにて「みんなの自動翻訳」のAPIで指定したテキストの言語判定する方法
迷惑メール対策等でメール本文が日本語のもののみ受信したい場合がある。ただ、本文内 ...
-
-
PHPでbool値(true / false)を文字列として出力する方法
PHPにてbool値(true / false)をechoで出力するとtrueは ...
-
-
日付の比較で○日前というのを調べる
PHP及びjavascriptで日付の比較をしたく、締切日とかではなく ○日前と ...
-
-
PHPでeval実行時に「eval()'d code on line」エラー
PHPでeval実行時に「eval()'d code on line 〇〇」とい ...
-
-
AlmaLinux8&PHP8系の環境にComposerをインストールする方法
AlmaLinux8&PHP8系の環境にComposerをインストールし ...