这个比较好玩,可以过滤用户输入的一些英语骂人的单词和脏话,可以自由添加,,,@_@
<?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(); */