php怎么过滤关键字,PHP屏蔽过滤指定关键字的方法,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
// 如果此数组元素为空则跳过此次循环
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 ‘恭喜!通过关键字检测’;
// 往下可以进行写库操作完成发布动作。
}$k;$i++){
例子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” οnclick=”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();
}
}
?>
百世岁月当代好 千古江山今朝新 万象更新
www.bkjia.comtrueTechArticlePHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字 本文实例讲述了PHP屏蔽过滤指定关键字的方法。分享给大家供大家参考。具体分析如下:…
php怎么过滤关键字,PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字_PHP教程...相关推荐
- mysql binlog 过滤表_mysql日志恢复指定表【从binlog日志过滤恢复指定数据表】
很多时候,MYSQL数据库由于一些误操作,需要恢复指定表,或某个表指定时间点的数据,这个时候需要根据MYSQL的binlog日志做时间点的恢复,下面将介绍这个方案的具体步骤: 一.登录数据库刷新bin ...
- php生成固定大小缩略图变形,php按指定大小等比缩放生成上传图片缩略图_PHP教程...
php教程按指定大小等比缩放生成上传图片缩略图 /** * * *等比缩放 * @param unknown_type $srcImage 源图片路径 * @param unknown_type $t ...
- fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/
fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤) Fiddler 有一个filters可以很好的帮助我们只显示我们关系的请求或 ...
- python不属于字符串的是_【python cookbook】python过滤字符串中不属于指定集合的字符...
1 #!/usr/bin/python 2 #-*- coding: utf-8 -*- 3 4 #过滤字符串中不属于指定集合的字符 5 6 importstring7 8 #生成所有字符的可复用的字 ...
- 不属于python标准库的是_《Python Cookbook(第2版)中文版》——1.10 过滤字符串中不属于指定集合的字符-阿里云开发者社区...
本节书摘来自异步社区<Python Cookbook(第2版)中文版>一书中的第1章,第1.10节,作者[美]Alex Martelli , Anna Martelli Ravenscro ...
- 限制访问网站、过滤特定网址、禁止访问指定网站的方法
限制访问网站.过滤特定网址.禁止访问指定网站的方法 此博文包含图片 (2017-12-19 16:36:25)转载▼ 许多公司出于管理员工上网行为的需要,经常限制电脑访问一些网站例如游戏网站.购物网站 ...
- 如何过滤word文档中指定颜色的文本内容
题主是一个略懂编程的编程爱好者,想通过自己的双手解决工作中的实际问题,处理一堆如下图的word文档,需要将红色部分的文字删掉,如果只是一两个文件就罢了,但是每天都要处理大量的文档,人工来搞实在头大. ...
- python过滤字符串中不属于指定集合的字符的代码
将做工程过程比较重要的一些内容备份一下,如下资料是关于python过滤字符串中不属于指定集合的字符的内容. import string 生成所有字符的可复用的字符串,它还可以作为 一个翻译表,指明&q ...
- Revit插件 | 在过滤这个点上,可以说是无敌的『 超级过滤 』
大家好,这里是建模助手. 大家都知道,Revit是一个原生功能都挺好,就差那么亿点点一点点就完美的软件. Revit不够好的地方主要都是集中在操作上不够便捷,又或者是不够全面直观. 因此我们的建模助手 ...
- 关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法
关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法 1985 T.于星期四, 07/03/2013 - 20:36提交 在android开发中,经常会碰到edittext ...
最新文章
- 戏说 .NET GDI+系列学习教程(三、Graphics类的应用_验证码)
- android 悬停按钮,Android悬浮按钮的使用方法
- 【原创】parseInt大改造
- element引入的组件大小高度不对_试水 elementplus ui 组件库
- 百度云盘上传文件和下载文件慢的解决办法
- Maven-Could not resolve artifact org.apache.maven.archetypes:maven-archetype-quickstart:jar:1.1
- 【angularjs】使用angular搭建项目,pc端实现网页中的内容不可复制
- 计算机电力英语翻译,电力专业英语阅读与翻译..doc
- 将一个list转化成一颗树的输出方法
- PuTTYgen使用教程
- 畅捷通李鲲:云让自然语言处理在企业更快落地
- 操作系统实验七(银行家算法)
- 零的突破!6所高校、2所“双非”顶刊发文
- matlab 求矩阵的逆
- linux xterm字体,修改XTerm相关属性(让字体更好看)
- 正则表达式 取最后一个 . 然后进行匹配
- 计算机无法识别ipad2,iTunes无法识别iPad mini怎么办【解决方法】
- 促销 java 满 赠_促销活动除了打折、返现、满赠,还有什么方式?
- KL Divergence KL散度
- 枚举类与注解(复习)
热门文章
- mysql 均值减法_mysql常用函数
- RISCV 的 cache
- 注水问题(最多接水)
- Retry attempted 10 times without completing, bailing out解决
- 太离谱!论文“撞衫”,11篇不同高校论文中竟出现同一块桌布....
- Fomo3D 千万大奖获得者“特殊攻击技巧”完全揭露
- Libra更名为Diem;Facebook和谷歌被接连起诉|前沿科技周报
- 1169: C语言实验题――保留整数
- Flash芯片的通信协议,分类和特点
- undefined、undeclared、null的区别