ホームページ  >  記事  >  バックエンド開発  >  PHP で指定したキーワードをシールドおよびフィルターする方法、PHP のシールドとフィルターのキーワード_PHP チュートリアル

PHP で指定したキーワードをシールドおよびフィルターする方法、PHP のシールドとフィルターのキーワード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:15:241026ブラウズ

PHPで指定したキーワードをブロックおよびフィルターする方法、PHPがキーワードをブロックおよびフィルターする方法

この記事の例では、PHP で指定したキーワードをブロックおよびフィルターする方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

実装アイデア:

1. キーワードを 1 行に 1 つずつ具体的に記述します。いくつでも記述できます。
2. PHP はキーワードテキストを読み取り、配列に保存します
3. キーワード配列を走査し、strpos 関数を 1 つずつ使用して、コンテンツにキーワードがあるかどうかを確認します。キーワードがある場合は true を返し、ない場合は false を返します。

PHPコードは次のとおりです:

コードをコピーします コードは次のとおりです:
/* strpos 関数を使用して PHP のキーワードをフィルタリングします */
//キーワードフィルター機能
関数 keyWordCheck($content){
// 空白を削除します
$content = トリム($content);
//キーワードテキストを読む
$content = @file_get_contents('keyWords.txt');
//配列に変換
$arr =explode("n", $content);
//トラバーサル検出
for($i=0,$k=count($arr);$i // この配列要素が空の場合、このループをスキップします
if($arr[$i]==''){
続けます
}
// キーワードが検出された場合は、一致したキーワードを返して操作を終了します
if(@strpos($str,trim($arr[$i]))!==false){
//$i=$k; $arr[$i] を返します;
}
}
// キーワードが検出されない場合は false を返します
false を返します;
}
$content = '公開するテキストコンテンツは次のとおりです。 。 。 ';
// キーワードをフィルタリングします
$keyWord = keyWordCheck($content);
// キーワードが存在するかどうかを判断します
if($keyWord){
echo '投稿したコンテンツにはキーワードが含まれています'.$keyWord;
}その他{
エコー「おめでとうございます!」キーワードで検出';
// 次に、ライブラリの書き込み操作を実行して公開アクションを完了します。
}

例 2 (注: 中国語のキーワードをフィルタリングするときに使用されるキーワード ファイルは utf-8 でエンコードされています)

コードをコピーします コードは次のとおりです:/**
* 禁止キーワードの検出
*
* @param string $string 検出する文字列
* @param string $fileName マスクキーワードファイル
* @return bool
​*/
関数 banwordCheck( $string, $fileName )
{
if ( !($words = file_get_contents( $fileName )) ){
die('ファイル読み取りエラー!');
}
$string = strto lower($string);
$matched = preg_match('/'.$words.'/i', $string, $result);
if ( $matched && isset($result[0]) && strlen($result[0]) > 0 )
{
if ( strlen($result[0]) == 2 ){
$matched = preg_match('/'.$words.'/iu', $string, $result);
}
if ( $matched && isset($result[0]) && strlen($result[0]) > 0 ) {
true を返します;
}その他{
false を返します;
}
}その他{
false を返します;
}
}
$content = 'キーワードをテスト';
if ( banwordCheck($content, './banwords.txt') ){
エコー「一致しました!」;
}その他{
エコー「一致しません!」;
}

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

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 $content = substr_count($str, $allergicWord[$i]);
if ($content>0){
$info = $content;
Break;
}
}

if($info>0){
//不正な文字があります
return TRUE;
}else{
//不正な文字はありません 文字
return FALSE;
}
?>

PHP を使用してキーワードのブロックを実装するにはどうすればよいですか? js または ajax も使用できます


バージョン:

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();
}
}

?>


http://www.bkjia.com/PHPjc/904936.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/904936.html技術記事 PHP で指定したキーワードをシールドおよびフィルタリングする方法、PHP で指定したキーワードをシールドおよびフィルタリングする方法 この記事では、PHP で指定したキーワードをシールドおよびフィルタリングする方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。