数组脏话查找关键字问题(4 位领导批示)
- 2009-09-15
- 分类:PHP&MySql
- 作者:银子
- 1,370 位领导视察
原问题地址: 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)); ?> |
相关文章
NOTE:本博内容大部分为原创,转载请注明出处。
永久链接:http://www.zdyi.com/crud-clean/455


























@普通话 DEMO DEMO
奇怪,为什么这个要提示脏字?![[face8]](http://www.zdyi.com/wp-includes/images/face/8.gif)
@zwwooooo
只是示例..要不然用真的脏话会被过滤..![[face3]](http://www.zdyi.com/wp-includes/images/face/3.gif)
我们国家的“脏字”好文明啊