是否有php通配符布尔筛选函数

是否有php通配符布尔筛选函数,php,string,search,filter,Php,String,Search,Filter,是否有一个php函数同时执行通配符过滤和布尔值过滤和/或过滤 $source = "My dog has fleas"; $filter = "*fleas OR Your*"; echo "Result: ".WildcardBooleanSearch($source, $filter); 结果应该是正确的或错误的。在这个例子中,它应该是true。 我在网上搜索了一下,找到了通配符过滤,找到了布尔过滤,但我没有在其中找到两者 fnmatch($filter,$source)处理通配符,但不知

是否有一个php函数同时执行通配符过滤和布尔值过滤和/或过滤

$source = "My dog has fleas";
$filter = "*fleas OR Your*";
echo "Result: ".WildcardBooleanSearch($source, $filter);
结果应该是正确的或错误的。在这个例子中,它应该是true。 我在网上搜索了一下,找到了通配符过滤,找到了布尔过滤,但我没有在其中找到两者

fnmatch($filter,$source)处理通配符,但不知道AND或OR的含义。与preg_match相同的限制。 我不能简单分解('or',$filter),因为可能有嵌套的or和


我能想到的最接近的比较是VBA函数应用程序。BuildCriteria使用PHP preg_match函数。如果您使用的是简单的字符串搜索,那么也可以使用strpos。下面是一个例子:

$source="My dog has fleas";
$filter="fleas or your";
if (strpos($source,$filter)) {
   echo "Found the match";
}

您可以使用preg_match进行更复杂的匹配。

使用PHP preg_match函数。如果您使用的是简单的字符串搜索,那么也可以使用strpos。下面是一个例子:

$source="My dog has fleas";
$filter="fleas or your";
if (strpos($source,$filter)) {
   echo "Found the match";
}
您可以使用preg_match进行更复杂的匹配。

或:

echo "Result: " . preg_match( "/(fleas|Your)/", $source );
以及:

或:

以及:


不,那不行。$filter中的“or”是一个布尔或,不是简单的英语“or”。你说得对。。。对于布尔型或。您最好使用preg_match,在这里您可以使用正则表达式来匹配几乎任何东西。不,这行不通。$filter中的“or”是一个布尔或,不是简单的英语“or”。你说得对。。。对于布尔型或。您最好使用preg_match,在这里您可以使用正则表达式来匹配几乎任何东西。不,这行不通。必须使用通配符BooleanSearch($source,$filter)形式的函数调用计算结果;好吧,这只是如何将这些preg_匹配实现到函数中的问题。你可以添加更多的搜索模式,或者就这样离开。不,那不行。必须使用通配符BooleanSearch($source,$filter)形式的函数调用计算结果;好吧,这只是如何将这些preg_匹配实现到函数中的问题。你可以添加更多的搜索模式,或者就这样离开。