前提・実現したいこと
あるPHPスプリクトを改造してNGワードを弾くプログラムを作っているのですが、なぜかNGワードを入力しても弾かれず通ってしまいます。一応$_POST['MESSAGE']に文章が入っていることは確認しました。
発生している問題・エラーメッセージ
NGワードが弾かれない
該当のソースコード
PHP
1$ng_word_array=array('NGワード'); 2str_replace($ng_word_array, $ng_word_array , $_POST['MESSAGE'], $countNG); 3 4if( $countNG > 0 ){PrintError("NGワード入ってますよ");} 5
試したこと
functionを使用した形式から直接入力に変更する
補足情報(FW/ツールのバージョンなど)
PHP7、改造元は「絆板」の「bbs.php」
挿入場所は61行目から次にコメントアウトされた場所の間
提示されたコードだけでは特に問題なく動くので、具体的にキーワードとMESSAGE例を提示されたほうが解決しやすいと思います。
もし日本語を含むのだったら、ためしに英数字(Ascii文字)だけでやってみてはどうでしょうか?
str_replace は $_POST['MESSAGE'] を更新せず、置換後の文字列は戻り値で返しますが、戻り値を使ってないとかそういう問題ではなくて?
https://www.php.net/manual/ja/function.str-replace.php
「nono」だけでやってみましたが作動しませんでした。
具体的には
'はっはっは'(はっはっは)
を指定して
「ぎゃあっはっはっはwwww」と入力しても通りました。