数组脏话查找关键字问题(4 位领导批示)

原问题地址: http://bbs.blueidea.com/thread-2948905-1-1.html


我想在数组含有“中国|||我国|||大地”,当有一句话同时出现“中国,我国,大地”时就提示有脏话,其他的如“ [2] => sex”就直接提示提示有脏话,这样数组怎样查找啊!大大们,出来帮我看看吧

我的解决方法. 思路是遍历数组进行逐个比较.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?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));
?>

相关文章

分享到新浪微博 推荐到豆瓣 分享到 Google Reader 加入Google书签 嘀咕一下 分享到饭否 分享到做啥 分享到叽歪 分享到鲜果 加入QQ书签 加入百度搜藏 加入雅虎书签 分享到垦一垦

  1. 4
    银子

    @普通话 DEMO DEMO

  2. 3
    普通话

    奇怪,为什么这个要提示脏字?[face8]

  3. 2
    银子

    @zwwooooo

    只是示例..要不然用真的脏话会被过滤..[face3]

  4. 1
    zwwooooo

    我们国家的“脏字”好文明啊

请领导指示

验证码 (必须)

Additional comments powered by BackType

随机显示的10篇日志

评论最多的10篇日志

浏览最多的10篇日志