为什么这个独立的代码不起作用:
$link = 'https://google.com';
$unacceptables = array('https:','.doc','.pdf', '.jpg', '.jpeg', '.gif', '.bmp', '.png');
foreach ($unacceptables as $unacceptable) {
if (strpos($link, $unacceptable) === true) {
echo 'Unacceptable Found<br />';
} else {
echo 'Acceptable!<br />';
}
}
即使 $link
变量中包含 https,每次都会打印出可接受的结果。
strpos( $haystack, $needle )
与另一个函数in_array( $needle, $haystack )
。正如你所看到的,参数的顺序是颠倒的。 - Marco Panichi