热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP屏蔽过滤指定关键字的方法_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<$k;$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程序设计有所帮助。

推荐阅读
  • 夏如画在经历了一次严重的创伤后,性格发生了巨大的变化,从原本的安静变得异常阴郁。好友魏如风细心照料,尽力让她远离一切可能的触动,帮助她逐渐走出阴影。 ... [详细]
  • 解决网页乱码问题的实用方法
    网页乱码问题在开发中较为常见,主要由文件编码、程序字符集设置和数据库连接字符集设置不当引起。本文将详细介绍如何逐一排查并解决这些问题。 ... [详细]
  • 本文对宋代诗人周紫芝的《虞美人》进行了详细翻译和赏析,探讨了诗中的意境与情感。 ... [详细]
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • 本文讲述了一位80后的普通男性程序员,尽管没有高学历,但通过不断的努力和学习,在IT行业中逐渐找到了自己的位置。从最初的仓库管理员到现在的多技能开发者,他的职业生涯充满了挑战与机遇。 ... [详细]
  • MyBatisCodeHelperPro 2.9.3 最新在线免费激活方法
    MyBatisCodeHelperPro 2.9.3 是一款强大的代码生成工具,适用于多种开发环境。本文将介绍如何在线免费激活该工具,帮助开发者提高工作效率。 ... [详细]
  • 本文将详细探讨PHP中C的作用,并对比其他编程语言如Java和C的特点及其适用场景。 ... [详细]
  • 本文介绍如何在 PHP 中判断文件是否存在,并根据结果控制 HTML 元素的显示与隐藏。如果文件存在,则直接打开;如果文件不存在,则显示一个提示信息并允许用户重新输入。 ... [详细]
  • 精选优质开源应用程序
    本文介绍了多个广泛使用的优质开源应用程序,包括内容管理系统(CMS)、电子商务平台和企业资源管理工具等。这些应用不仅功能强大,而且具有高度的可扩展性和社区支持。 ... [详细]
  • 本文探讨了 Java 中 HttpClient 和 HtmlUnit 的区别,重点介绍了它们的功能和应用场景。 ... [详细]
  • iOS 百度地图使用指南:基本定位与地理编码
    本文详细介绍如何在 iOS 应用中集成百度地图,实现基本的地图定位和地理编码功能。配置详情请参考官方文档:http://developer.baidu.com/map/index.php?title=iossdk ... [详细]
  • 模电学习笔记(十)——积分电路
    模电学习笔记(十)积分电路如下图就是一个简单的积分电路,是利用电容的充放电原理进行。设计目标:输入输出电源100Hz1 ... [详细]
  • 三星效仿魅族,宣布移除手机预装应用广告
    随着智能手机市场的竞争日益激烈,许多厂商开始通过互联网广告增加收入。然而,这种做法引发了用户的不满。近日,三星宣布将停止在其多款预装应用中投放广告,以提升用户体验。 ... [详细]
  • PHP 修改 XML 文件内容的方法详解
    本文详细介绍了如何使用 PHP 对 XML 文件进行修改,包括读取、遍历、修改和保存等操作步骤,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 链接:https://ac.nowcoder.com/acm/contest/24213/1011 来源:牛客网 题目描述:N位学生站成一排,音乐老师需要请其中的(N-K)位学生离开,以使剩下的K位学生形成合唱队形。 ... [详细]
author-avatar
布瓜Pourqu2502854853
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有