为什么这个独立的代码不起作用:
$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,每次也可以打印。
$link
如有疑问,请阅读文档:
[strpos]返回大海捞针中第一次出现针的数字位置。
因此,您想尝试更多类似的方法:
// ... if (strpos($link, $unacceptable) !== false) {
因为否则strpos返回一个数字,并且您正在寻找布尔值true。
strpos
true