我想检查字符串是否包含特定字词?根据{{3}},我可以使用strpos()
函数。
我编写的示例代码
if(strpos($value, 'filters(10)') === false){
//Do something
} else {
//Do Another Thing
}
如果我需要检查上面的特定单词filters(10)
,那么函数运行正常。 但我需要使用过滤字检查10以上的所有数字。
示例
$value = 'bla bla bla bla' // Should return false
$value = 'bla bla filters(1) bla bla' // Should return false
$value = 'bla bla filters(5) bla bla' // Should return false
$value = 'bla bla filters(10) bla bla' // Should return true
$value = 'bla bla filters(15) bla bla' // Should return true
$value = 'bla bla filters(20) bla bla' // Should return true
如何修改我的代码以获得上述结果?
答案 0 :(得分:1)
在这里,您可以使用Regex
获取该特定号码。然后再应用其他条件。
正则表达式: filters\((\d+)\)
这将与filters(
匹配,然后捕获数字,然后是)
preg_match("#filters\((\d+)\)#", $value, $matches);
if(isset($matches[1]) && $matches[1]>10)
{
//do something on true
}
else
{
//do something on false
}
答案 1 :(得分:0)
您可以解析filters()
中的元素并将其与10进行比较。
if(($pos = strpos($value, 'filters(10)')) === false){
if(intval(substr($value, $pos + strlen('filters('))) > 10) {
//Do something
} else {// do another thing}
} else {
//Do Another Thing
}