php – 检查字符串是否包含任何单词
发布时间:2020-12-13 17:48:05 所属栏目:PHP教程 来源:网络整理
导读:我需要检查一个字符串是否包含任何一个被禁止的单词.我的要求是: 不区分大小写,这就是我使用stripos()的原因 单词应该用空格分隔,例如,如果禁止的单词是“扑克”,“扑克游戏”或“游戏扑克比赛”应该被禁止的字符串和“trainpokering great”应该在良好的字
我需要检查一个字符串是否包含任何一个被禁止的单词.我的要求是:
>不区分大小写,这就是我使用stripos()的原因 我尝试过类似下面的内容 $string = "poker park is great"; if (stripos($string,'poker||casino') === false) { echo "banned words found"; } else { echo $string; } 解决方法
您可以使用数组并加入它
$arr = array('poker','casino','some','other','word','regex+++*much/escaping()'); $string = 'cool guy'; for($i = 0,$l = count($arr); $i < $l; $i++) { $arr[$i] = preg_quote($arr[$i],'/'); // Automagically escape regex tokens (think about quantifiers +*,[],() delimiters etc...) } //print_r($arr); // Check the results after escaping if(preg_match('/b(?:' . join('|',$arr). ')b/i',$string)) { // now we don't need to fear echo 'banned words found'; } else { echo $string; } 它使用单词边界并连接数组. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |