数组脏话查找关键字问题
<p ><strong>kelon</strong> 发表于 2009-9-15 09:37</p>
<h3>数组脏话查找关键字问题</h3>以下是我的脏话的数组
Array ( => 中国|||我国|||大地 => kelon|||lerke|||sb => sex )
我想在数组含有“中国|||我国|||大地”,当有一句话同时出现“中国,我国,大地”时就提示有脏话,**的如“ => sex”就直接提示提示有脏话,这样数组怎样查找啊!大大们,出来帮我看看吧<p ><strong>帅青蛙</strong> 发表于 2009-9-15 10:00</p>
遍历这个数组,根据实际情况进行拆分。
当下标为0或1时,就拆分判断,当为2时直接判断是否存在就行了。<p ><strong>kelon</strong> 发表于 2009-9-15 10:33</p>
function lktest($v,$keyword){
foreach ($v as $k){
if (strpos($k,"|||")!==false){
$kelon=explode("|||",$k);
//求数组最大值
$b=count($kelon);
foreach($kelon as $t){
//echo $t.'<br>';
if (preg_match('/'.$t.'/i',$keyword)){
//echo "敏感关键字";
$a=$a+1;
}
else{
$a='';
}
}
//如果数组最大值跟$a相等时,则所有|||关键字都出现了
if ($a==$b){
echo "敏感关键字";
}
}
elseif(preg_match('/'.$k.'/i',$keyword)){
echo "敏感关键字";
}
}
}
我这样做好像实现,不知哪位PHP精通一点,如果有更好方法,请指点一下吧!<p ><strong>wuleying</strong> 发表于 2009-9-15 10:56</p>
<?php
function checkCrud($str, $crud)
{
if(is_array($crud) && !empty($crud))
{
foreach($crud as $value)
{
if(strpos($value, '|||') !== false)
{
$cruds = explode('|||', $value);
$num = count($cruds);
$check = 0;
foreach($cruds as $val)
{
if(strpos($str, $val) !== false)
{
$check++;
}
}
if($check == $num)
{
return true;
}
}
else
{
if(strpos($str, $value) !== false)
{
return true;
}
}
}
return false;
}
}
$crud = array('中国|||我国|||大地', 'kelon|||lerke|||sb', 'sex');
$test1 = '我是中国人.我国人很多.大地上全是人.-__-!!好脑残的造句.';
$test2 = '我是中xx国人.我xxx国人很多.大地上全是人.-__-!!好脑残的造句.';
$test3 = '我是中国人.我x国人很多.大地上全是人.-__-!!好脑残sex的造句.';
$test4 = '我是中国人.我x国人很多.大地上全是人.-__-!!好脑残seix的造句.';
var_dump(checkCrud($test1, $crud));
var_dump(checkCrud($test2, $crud));
var_dump(checkCrud($test3, $crud));
var_dump(checkCrud($test4, $crud));
?>
[ 本帖最后由 wuleying 于 2009-9-15 11:04 编辑 ]<p ><strong>kelon</strong> 发表于 2009-9-15 11:19</p>
谢谢银子!学习一下先。<p ><strong>laohoo</strong> 发表于 2009-9-16 15:28</p>
效率太低, 请使用preg_match<p ><strong>kelon</strong> 发表于 2009-9-16 16:49</p>
原帖由 laohoo 于 2009-9-16 15:28 发表 http://bbs.blueidea.comhttp://bbs.pqshow.com/images/common/back.gif
效率太低, 请使用preg_match
刚学PHP不久,一看到正则就头晕。大大,写个给我学习一下吧!
有要买手机的朋友可以到我小站看看 网址在签名里.. 复杂 没看懂哦,嘿嘿,不好意思啦楼主
页:
[1]