我使用以下内容来解析html页面并返回图像:
$html = file_get_html($url);
foreach($html->find('img') as $e){
$image = $e->src;
}
理想情况下,虽然我只想显示带有.jpg扩展名的文件 - 我知道我可以使用preg_match但是有更高效的方法吗?
答案 0 :(得分:3)
pathinfo()
是您正在寻找的本机PHP函数。是的,你可以根据需要操纵字符串,但是如果你正在寻找“正确”的方法,那么它就是:
$html = file_get_html($url);
// file extensions we are looking for
$allowedExtensions = ['jpg', 'jpeg', 'jpe'];
foreach($html->find('img') as $el){
// file extensions are usually treated as case insensitive, but the
// implied comparison operator used with in_array() is case sensitive
// so normalise the data to lower-case.
$extension = strtolower(pathinfo($el->src, PATHINFO_EXTENSION));
if (in_array($extension, $allowedExtensions)) {
// File has a JPEG-like file extension
}
}
答案 1 :(得分:3)
你的代码很好。这适用于您的情况
// Create DOM from URL or file
$html = file_get_html('http://www.yahoo.com/');
// Find all images
foreach($html->find('img') as $element)
{
$img = strtolower($element->src);
if(pathinfo($img,PATHINFO_EXTENSION) == "jpg")
echo $element->src . '<br>';
}
答案 2 :(得分:0)
$split = explode(".", $image);
$extention = $split[count($split)-1];