(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();  */


發佈了80 篇原創文章 · 獲贊 7 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章