ホームページ >バックエンド開発 >PHPチュートリアル >PHP で指定したキーワードをシールドおよびフィルターする方法、PHP のシールドとフィルターのキーワード_PHP チュートリアル
この記事の例では、PHP で指定したキーワードをブロックおよびフィルターする方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
実装アイデア:
1. キーワードを 1 行に 1 つずつ具体的に記述します。いくつでも記述できます。
2. PHP はキーワードテキストを読み取り、配列に保存します
3. キーワード配列を走査し、strpos 関数を 1 つずつ使用して、コンテンツにキーワードがあるかどうかを確認します。キーワードがある場合は true を返し、ない場合は false を返します。
PHPコードは次のとおりです:
特定のテキストに特定の文字列が含まれているかどうかを判断するには、preg_match を使用して判断できます。メッセージ ブックやフォーラムの場合は、特定の機密キーワードが含まれているかどうかを判断して、フィルタリングするかどうか、公開を許可するかどうかを決定できます
別途。記号「|」が付いた各機密単語。正規表現内の「|」は「または」の意味に相当します
$badkey = "機密単語|機密単語 B|機密単語 C" ;
$string = "機密性の高い単語は含まれていないため、公開したいと思います";
if(preg_match("/$badkey/i",$string)){
echo "申し訳ありませんが、機密性の高い文字が含まれています。投稿は許可されていません";
}else{
//何か...
}
?>
そして preg_replace はキーワードフィルタリング (汚い言葉フィルタリング) に使用できます
php は次の目的で使用できますpreg_replace 汚い言葉をフィルターします
$badstring="tmd|Fuck|TNND|彼女の義母";
$string="何を言ったのですか、彼女の義母は人間";
echo preg_replace("/ $badstring/i",'',$string);
?>
$allergicWord = array('悪い言葉', '悪口' );
$str = 'この文には悪口や悪口が含まれています';
for ($i=0;$i
if ($content>0){
$info = $content;
Break;
}
}
if($info>0){
//不正な文字があります
return TRUE;
}else{
//不正な文字はありません 文字
return FALSE;
}
?>
バージョン:
html>
head>
/head>
form action="" method="post" name="form1" >
input name="word" type="text" />
input name="" type="submit" onclick="return chkValue();" value="confirm"/>
/form>
script type="text/javascript">
function chkValue() {
var val = document.form1.word.value,
array = ["acd","svd","fdg","fdk"];
for( var i = array.length; i--;) {
if( val .indexOf( array[i] ) !== -1 ) {
alert('センシティブな文字があります:' + array[i]);
return false;
}
}
return true;
}
/script>
/html>
PHP バージョン
?php
$content = "afjvahsv sjv sdjavcvacvdjgfsacdaldkfja sfcjasldfj ";
$keyword = array( "acd","svd","fdg","fdk" );
for( $ i = count($keyword); $i--; ) {
if( strpos( $content, $keyword[$i] ) !== false ) {
echo "センシティブな文字が表示されます: {$keyword[$i] } ";exit();
}
}
?>