本文实例讲述了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程序设计有所帮助。

mysql屏蔽关键字实现方法_PHP屏蔽过滤指定关键字的方法相关推荐

  1. php怎么过滤关键字,PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字_PHP教程...

    PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字 本文实例讲述了PHP屏蔽过滤指定关键字的方法.分享给大家供大家参考.具体分析如下: 实现思路: 一.把关键字专门写在一个文本文件里,每行一个,数量 ...

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

    这篇文章主要介绍了PHP屏蔽过滤指定关键字的方法,包含了字符串的过滤处理与数组的遍历等技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了PHP屏蔽过滤指定关键字的方法.分享给大家供大家参考. ...

  3. mysql row函数的使用方法_php row()函数介绍与使用方法详解

    react-router作为react框架路由解决方案在react项目中举足轻重.本文主要介绍了详解react-router 4.0 下服务器如何配合BrowserRouter,小编觉得挺不错的,现在 ...

  4. php 中如何重载父类的方法_PHP中子类重载父类的方法【parent::方法名】

    在PHP中不能定义重名的函数,也包括不能再同一个类中定义重名的方法,所以也就没有方法重载.单在子类中可以定义和父类重名的方法,因为父类的方法已经在子类中存在,这样在子类中就可以把从父类中继承过来的方法 ...

  5. python定义接口的关键字_使用*args和**kws指定关键字参数

    带有默认值的函数参数仍然是位置参数,因此您看到的结果是正确的.为参数指定默认值时,您不是在创建关键字参数.当参数不是由函数调用提供时,只使用默认值.在>>> def some_fun ...

  6. mysql 危险字符_PHP过滤指定字符串,过滤危险字符

    安全过滤函数,用于过滤危险字符 function safe_replace($string) { $string = str_replace(' ','',$string); $string = st ...

  7. Fiddler过滤指定域名

    Fiddler过滤指定域名的方法一 切换到fiddler右侧窗口的Filters选项卡,勾选顶部的"Use Filters",找到Hosts区域,设置以下三个选项: 1.第一项有三 ...

  8. php模糊搜索慢怎么办,MySQL中文模糊检索问题的解决方法_php

    mysql中文模糊检索问题的解决方法 来源:林兴陆 在 MySQL 下,在进行中文模糊检索时,经常会返回一些与之不相关的 记录,如查找 "-0x1.ebea4bfbffaacp-4%&quo ...

  9. 2023年屏蔽iOS16系统更新,去除小红点,最新方法

    昨天开始,屏蔽iOS系统更新的旧文件已经过期,许多老粉收到了更新提醒,因此现在给大家带来最新的屏蔽文件 这个文件可以屏蔽iOS系统更新和提醒,防止手机自动下载更新. 这个方法支持所有 iPhone 和 ...

最新文章

  1. Java性能优化最易操作的10大技巧!
  2. 别再叫我 Sql boy!
  3. 全球及中国壁纸市场盈利预测与投资风险分析报告2022-2027年
  4. Hibernate程序性能优化的考虑要点
  5. 线段树合并复杂度证明
  6. 微信小程序php get_php处理微信小程序request请求
  7. php artisan快捷命令
  8. 空投坐标怎么看6_嗦粉不咯?桂林米粉店将分三四五星级,你怎么看? 旅行 6 月 4 日热点速递...
  9. PHP 截取字符串乱码的解决方案
  10. Source does not fit in dest
  11. .net学习笔记图片链接20060523
  12. 3D建模软件:犀牛Rhino 7.16.22067.13002
  13. 巴伦变压器电路图_基于变压器原理的巴伦电路系统分析
  14. google play以及google pay
  15. API-String中的某些方法
  16. ExcelWriter 导出excel
  17. 高校实验室预约系统功能简介及解决方案
  18. Matlab:设置命令历史记录预设项
  19. includes方法
  20. unity打开ppt 打包后也可以运行

热门文章

  1. Go 知识点(12) — 类型转换以三方库 cast
  2. Python 类—类属性(私有属性、公有属性、实例属性、局部变量)类方法(实例方法、静态方法)
  3. Paddle Release Note
  4. 跟踪自主车辆软件平台
  5. Android中出现内存泄露的原因
  6. 2021年大数据常用语言Scala(二十一):函数式编程 遍历 foreach
  7. DCN-2655 ssh 远程登陆配置
  8. [JS] 题解:提取不重复的整数
  9. INSTALL_FAILED_USER_RESTRICTED
  10. python基础之生成器,生成器函数,列表推导式