Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查字符串是否包含两个或更多特定单词_Php_String - Fatal编程技术网

Php 如何检查字符串是否包含两个或更多特定单词

Php 如何检查字符串是否包含两个或更多特定单词,php,string,Php,String,我需要检查字符串是否包含两个或更多特定单词,如果是,则回显找到的单词..我尝试使用此..但如果找到一个单词,则回显找到,现在可以工作: 试用代码: if(preg_match("/(s|g898|w63)/i", $string)){ echo 'found'; } 因此,我尝试使用以下示例: $string = 'Today is wonderfull day w63'; 上面的函数不需要做任何事情 $string = 'Above the sky limit s g898 w63

我需要检查字符串是否包含两个或更多特定单词,如果是,则回显找到的单词..我尝试使用此..但如果找到一个单词,则回显找到,现在可以工作:

试用代码:

if(preg_match("/(s|g898|w63)/i", $string)){
    echo 'found';
}
因此,我尝试使用以下示例:

$string = 'Today is wonderfull day w63';
上面的函数不需要做任何事情

$string = 'Above the sky limit s g898 w63';
此字符串需要从上面的函数回显
echo'found'


那么,如何在PHP中检查字符串是否包含所有三个特定单词,以及是否包含所有三个已找到的echo?

这是一种可能的解决方案

if(preg_match("/(?=.* s )(?=.*g898)(?=.*w63)/i", $string)){
    echo 'found';
}

这是一个可能的解决办法

if(preg_match("/(?=.* s )(?=.*g898)(?=.*w63)/i", $string)){
    echo 'found';
}

您是否尝试将要查找的单词放入一个数组并循环通过该数组?如果两次找到同一个单词会怎么样?那算两个字吗?第五个参数是
strpos
第一个单词,
strpos
第二个单词。您是否尝试将要查找的单词放入一个数组中并循环通过此数组?如果两次找到同一个单词怎么办?那算两个字吗?第五个参数出现在脑海中,
strpos
第一个单词,
strpos
第二个单词。单词边界会改善这一点。单词边界会改善这一点。