stripos()似乎没有正常工作,下面是我的代码:
$regex_blitz = array("#bols", "#Blitz", "#Blitz Ipva", "#detran", "#ipva", "biltz");
foreach($regex_blitz as $blitz)
{
echo $blitz;
echo "</br>";
echo $string;
echo "</br>";
if(stripos($string, $blitz))
{
echo 'aqui';
}
else
{
echo 'oi';echo "</br>";
}
}下面是输出:
#bols
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
#Blitz
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
#Blitz Ipva
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
#detran
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
#ipva
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
biltz
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi你可以注意到,当$blitz是'#Blitz‘时,它应该通过'if',帮帮我!
我刚刚注意到,如果我在字符串中向前移动"#blitz“,它可以工作,但我不能这样做,因为它会自动搜索,这是一个bug吗?
发布于 2011-05-03 05:20:01
问题是,如果匹配位于字符串的开头,stripos将返回0。您需要使用!== false进行检查。http://php.net/manual/en/function.stripos.php
$regex_blitz = array("#bols", "#Blitz", "#Blitz Ipva", "#detran", "#ipva", "biltz");
foreach($regex_blitz as $blitz)
{
echo $blitz;
echo "</br>";
echo $string;
echo "</br>";
if(stripos($string, $blitz) !== false)
{
echo 'aqui';
}
else
{
echo 'oi';echo "</br>";
}
}发布于 2011-05-03 05:19:05
有人看到了很大的警告标志:
Warning
This function may return Boolean FALSE, but may also return a non-Boolean value
which evaluates to FALSE, such as 0 or "".http://php.net/stripos
https://stackoverflow.com/questions/5862484
复制相似问题