我正在尝试测试网址是否会显示图片,例如“http://i.imgur.com/vLsht.jpg” 通过测试来查看字符串是否包含“.jpg”或“.png”或“.gif”等。
我的代码是:
if (stripos($row_rsjustpost['link'], ".png") !== false) {
//do stuff
}
我想做点什么
if (stripos($row_rsjustpost['link'], ".png" || ".jpg" || ".gif") !== false) {
//do stuff
}
答案 0 :(得分:1)
可以通过preg_match()
正确使用正则表达式:
$matches = array();
if (preg_match('/\.(png|jpg|gif)/i', $row_rsjustpost['link'], $matches) {
// Contains one or more of them...
}
// $matches holds the matched extension if one was found.
print_r($matches);
注意:如果字符串必须在文件扩展名的末尾出现,请使用$
终止它:
/\.(png|jpg|gif)$/i
//-------------^^
如果你试图只找到一个子字符串,那么使用stripos()
会更合适,但你可以使用正则表达式匹配许多不同的模式,而不必咳出长的if / else链
答案 1 :(得分:0)
如果我不想使用正则表达式,我就是这样做的:
获取最后4个字符(文件扩展名)
$filepath = $row_rsjustpost['link'];
$extension = substr($filepath, length($filepath) - 4);
然后看看它是否与模式匹配:
if (in_array($extension, array(".png", ".jpg", ".gif"))) {
// Have a party!
}