目錄
PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字
我想通过php代码屏蔽一些敏感词,写了断代码,老是错误
php怎用实现关键词屏蔽?用 js 或者 ajax 也可以
首頁 php教程 php手册 PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字

PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字

Jun 13, 2016 am 09:22 AM
ajax php 關鍵字

PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字

本文实例讲述了PHP屏蔽过滤指定关键字的方法。分享给大家供大家参考。具体分析如下:

实现思路:

一、把关键字专门写在一个文本文件里,每行一个,数量不限,有多少写多少。
二、PHP读取关键字文本,存入一个数组
三、遍历关键字数组,挨个用strpos函数去看看内容有没有关键字,如果有,返回true,没有则返回false

PHP代码如下:

复制代码 代码如下:

/* PHP中用strpos函数过滤关键字 */
// 关键字过滤函数
function keyWordCheck($content){
// 去除空白
$content = trim($content);
// 读取关键字文本
$content = @file_get_contents('keyWords.txt');
// 转换成数组
$arr = explode("n", $content);
// 遍历检测
for($i=0,$k=count($arr);$i // 如果此数组元素为空则跳过此次循环
if($arr[$i]==''){
continue;
}
// 如果检测到关键字,则返回匹配的关键字,并终止运行
if(@strpos($str,trim($arr[$i]))!==false){
//$i=$k;
return $arr[$i];
}
}
// 如果没有检测到关键字则返回false
return false;
}
$content = '这里是要发布的文本内容。。。';
// 过滤关键字
$keyWord = keyWordCheck($content);
// 判断是否存在关键字
if($keyWord){
echo '你发布的内容存在关键字'.$keyWord;
}else{
echo '恭喜!通过关键字检测';
// 往下可以进行写库操作完成发布动作。
}

例子2 (注:中文关键字过滤时使用的关键字文件为utf-8编码)

复制代码 代码如下:

/**
 * 被禁止的关键字检测
 *
 * @param string $string  要检测的字符串
 * @param string $fileName 屏蔽关键字文件
 * @return bool
 */
function banwordCheck( $string, $fileName )
{
 if ( !($words = file_get_contents( $fileName )) ){
  die('file read error!');
 }
 $string = strtolower($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 ) {
   return true;
  }else{
   return false;
  } 
 }else{
  return false;
 }
}
$content = '测试关键字';
if ( banwordCheck($content, './banwords.txt') ){
 echo "matched! ";
}else{
 echo "no match! ";
}

希望本文所述对大家的PHP程序设计有所帮助。

我想通过php代码屏蔽一些敏感词,写了断代码,老是错误

判断某段文字里面是否包含某字符串或某些字符串,可以通过preg_match来判断,对于留言薄或者论坛来说,可以判断是否包含某些敏感关键字,来决定是否过滤,是否允许发表

各敏感词之间用符号 “|"分割,因为在正则里面 "|"相当于"或"的意思


$badkey = "敏感词|敏感词B|敏感词C";

$string = "我是不含有敏感词的,我要发表";

if(preg_match("/$badkey/i",$string)){

echo "对不起,含有含有敏感字符,不允许发表";

}else{

//do something...

}

?>

而preg_replace则可以用来进行 关键词过滤(脏话过滤)

php可以用preg_replace来过滤脏话


$badstring="tmd|妈的|TNND|她娘的";
$string="你tmd说什么,她娘的,不是人";
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="确认"/>
/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();
}
}

?>

百世岁月当代好 千古江山今朝新 万象更新
 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

CakePHP 使用資料庫 CakePHP 使用資料庫 Sep 10, 2024 pm 05:25 PM

在 CakePHP 中使用資料庫非常容易。本章我們將了解CRUD(建立、讀取、更新、刪除)操作。

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

為了在 cakephp4 中處理日期和時間,我們將使用可用的 FrozenTime 類別。

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

為了進行文件上傳,我們將使用表單助理。這是文件上傳的範例。

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

在本章中,我們將學習以下與路由相關的主題?

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的開源框架。它旨在使應用程式的開發、部署和維護變得更加容易。 CakePHP 基於類似 MVC 的架構,功能強大且易於掌握。模型、視圖和控制器 gu

CakePHP 建立驗證器 CakePHP 建立驗證器 Sep 10, 2024 pm 05:26 PM

可以透過在控制器中新增以下兩行來建立驗證器。

CakePHP 日誌記錄 CakePHP 日誌記錄 Sep 10, 2024 pm 05:26 PM

登入 CakePHP 是一項非常簡單的任務。您只需使用一項功能即可。您可以記錄任何後台程序(如 cronjob)的錯誤、異常、使用者活動、使用者採取的操作。在 CakePHP 中記錄資料很容易。提供了 log() 函數

See all articles