(10)过滤输入

这个比较好玩,可以过滤用户输入的一些英语骂人的单词和脏话,可以自由添加,,,@_@


<?php
class Filter
{
	private $keyword=array('fuck', 'shit', 'slut', 'nut', 'idiot', 'pussy', 'cunt','whore', 'bitch',
							'penis', 'mother fucker', 'son of bitch', 'damn');
	private $word;
	private $result;
	
	public function __construct($en)
	{
		$this->word = $en;
		$onefilter = $this->filterKey();
		$this->result = $this->filterWord($onefilter);
	}
	private function filterKey()
	{
		if(preg_grep("#{$this->word}#", $this->keyword))
		{
			return 'goddess';
		}
		else
		{
			return $this->word;
		}
	}
	private function filterWord($word)
	{
		$word=trim($word);

		if(preg_match('#[\x{4e00}-\x{9fa5},\)\.\(]+#u', $word))
		{
			//过滤掉中文,同时提取其中的英文字符
			if(preg_match_all('#[a-z\s]+#iu', $word, $res))
			{
				$result='';
				foreach($res[0] as $item)
				{
					$result .= $item.' ';
				}
				return trim(strtolower($result));
			}
			else
			{
				return "goddess";
			}
		}
		else if(preg_match('#[_\+\?\*\^\$\#\%\&\/\\,\.!@=\`\"]#',$word, $res))
		{
			return  "goddess";
		}
		else 
		{
			return $word;
		}
			
	}
	public function getResult()
	{
		return $this->result;
	}
}

/* $filter = new Filter('good');
echo $filter->getResult();  */


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值