检查字符串中是否包含数组中的字

检查字符串中是否包含数组中的字

本文介绍了检查字符串中是否包含数组中的字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是一个聊天网页。我有一个 $ string =这个家伙是一个mothertrucker。我有一个坏词数组: $ bads = array('truck','shot',etc)。如何检查 $ string 是否包含 $ bad 中的任何字词?

到目前为止我有:

This is for a chat page. I have a $string = "This dude is a mothertrucker". I have an array of badwords: $bads = array('truck', 'shot', etc). How could I check to see if $string contains any of the words in $bad?
So far I have:

        foreach ($bads as $bad) {
        if (strpos($string,$bad) !== false) {
            //say NO!
        }
        else {
            // YES!            }
        }

除非我这样做,当用户在 $ bads 列表,输出为NO!其次是YES!因此,由于某种原因代码正在运行两次。

Except when I do this, when a user types in a word in the $bads list, the output is NO! followed by YES! so for some reason the code is running it twice through.

推荐答案

function contains($str, array $arr)
{
    foreach($arr as $a) {
        if (stripos($str,$a) !== false) return true;
    }
    return false;
}

这篇关于检查字符串中是否包含数组中的字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 18:09