用户发表文章和评论时的脏字管理

  • 时间:
  • 来源:互联网
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiao_qing_ge/article/details/103289745

思想:做好脏字管理先新建脏字的文件,存,改,删,查(在文件中就行,没必要再数据库中)

代码如下:

/*
*脏字管理,存到一个文件中
*$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);
}

本文链接http://element-ui.cn/news/show-325.aspx