PHP屏蔽过滤指定关键字的方法
2014-11-03 09:53
525 查看
实现思路:
一、把关键字专门写在一个文本文件里,每行一个,数量不限,有多少写多少。
二、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程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- PHP屏蔽过滤指定关键字的方法
- PHP屏蔽关键字实现方法
- PHP屏蔽关键字实现方法
- php截取指定字符之间内容的类与实例(含转码、过滤html等)
- PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
- PHP的一个过滤敏感词或脏话的方法
- php读取指定目录文件夹下所有文件夹及文件的方法
- 过滤SQL关键字方法
- php按指定元素值去除数组元素的方法
- PHP中常用数据过滤方法
- [导入]关键字过滤方法
- PHP面向对象中常用关键字和魔术方法
- dede 调用栏目关键字,描述内容等SEO信息(PHP方法值得学习)
- php 按指定元素值去除数组元素的实现方法
- php的格式化指定时间的方法和asp中的formatdatetime类似
- 关键字过滤方法
- 过滤器对指定的路径不进行过滤的方法 filter exclude path struts fckeditor date datetimepicker
- php学习笔记------[php面向对象中常用关键字与魔术方法]