思想:做好脏字管理先新建脏字的文件,存,改,删,查(在文件中就行,没必要再数据库中)
代码如下:
/* *脏字管理,存到一个文件中 *$data是传进来的脏字数据 *多个脏字格式 法轮功;白莲教; */
function dirtyWord($data){$arrRet = array();$word = $data["word"];//一个字符串//is_file()函数, 用来判断文件是否存在,代码如下:is_dir()函数,用来判断目录是否存在,代码如下:file_exists()函数,既可以判断文件是否存在、也可以判断目录是否存在。代码如下:if(!is_file('Dirty_Word.txt')){$myfile = fopen("Dirty_Word.txt", "w");//文件不存在,创建文件}else{//将文件的内容拿出来$fp= fopen("Dirty_Word.txt","r");$str= fread($fp,filesize("Dirty_Word.txt"));//指定读取大小,这里把整个文件内容读取出来//变换为数组,与写入的字符串对比,看有没有重复$pieces1 = explode(";", $str);//explode — 使用一个字符串分割另一个字符串,返回一个数组$pieces2 = explode(";", $data["word"]);//传进来的值array_pop($pieces1);//删除最后一个数组array_pop($pieces2);//print_r($pieces1);//print_r($pieces2);//exit();$result = array_intersect($pieces1,$pieces2);//判断没有没有重复的值//$state = empty($result) ? false : true;//$arrRet['r'] = $str;if($result){$arrRet['repeat'] = 'repeat';//您输入的脏字在文件里已经有了}else{//将字符串写入到文件$myfile = fopen("Dirty_Word.txt", "a") or die("Unable to open file!");//w,r,a,a+$txt = $word;//一个字符串fputs($myfile, $txt);fclose($myfile);}}echo json_encode($arrRet);
}
查看脏字
/* *查询文件里面的脏字 */
function dirtyWordSelect($data){$arrRet = array();if(!is_file('Dirty_Word.txt')){$myfile = fopen("Dirty_Word.txt", "w");//文件不存在,创建文件$arrRet['r'] = 'none';//没有内容}else{//将文件的内容拿出来$fp= fopen("Dirty_Word.txt","r");$str= fread($fp,filesize("Dirty_Word.txt"));//指定读取大小,这里把整个文件内容读取出来$arrRet['r'] = $str;}echo json_encode($arrRet);
}
在发表的评论中查看有没有脏字
/* *插入回复 */
function inserthuifu($data){$arrRet = array();global $myDB;global $arrays;unset($data["fun"]);$content = $data["content"];//内容中不可以有脏字关键字$fp= fopen("Dirty_Word.txt","r");$str= fread($fp,filesize("Dirty_Word.txt"));//指定读取大小,这里把整个文件内容读取出来$pieces1 = explode(";", $str);//explode — 使用一个字符串分割另一个字符串,返回一个数组array_pop($pieces1);//删除最后一个数组foreach($pieces1 as $value){$num = strstr($content,$value);if($num){$arrRet['weifa'] = 'weifa';break;}}$data["commentTime"] = date('Y-m-d', time());$data['uid'] = $_COOKIE['id'];$arr = $myDB->insert('comment',$data);if($arr == 0){$arrRet['list'] = $arrays[17]['one'];}else{$arrRet['list'] = $arrays[17]['two'];}echo json_encode($arrRet);
}