2011-11-30 105 views
1

我使用PHP简单的HTML DOM解析器,我想返回所有的图像类型,但.gif注意:任何人都知道如何做到这一点? (是的,我读过的文档,并且可以不知道这一点)如何在PHP中简单的HTML DOM解析器过滤的图像类型

到目前为止的代码...

foreach($html->find('img') as $element) 

有没有一些方法,如这样的:

foreach($html->find('img[!=.gif]') as $element) 

谢谢!

+0

不要使用simplehtmldom。借助内置的Dom中和XPath,你可以这样做:IMG [不是(包含(@ SRC, 'GIF'))] – pguardiario

回答

1

只是检查,如果每个项目的src与.gif结束:

foreach($html->find('img') as $element) { 
    if (strtolower(substr($element->src, -4)) == '.gif') 
    continue; 

    // code here 
} 
+1

也许应该'strtolower'你'substr'电话。 –

+0

感谢@LeviMorrison,我已经更新了。 –

+0

非常感谢Abhi!工作很好。 –

0

这是你会做什么:

foreach($html->find('img') as $element) { 
    if (!endsWith ('.gif' , strtolower ($element->src))) { 
     /* code */ 
    } 
} 

function endsWith($str, $sub) { 
    return (substr($str, strlen($str) - strlen($sub)) === $sub); 
} 

虽然,这个选择:有指定的属性,它具有一定的值结束[attribute$=value]匹配的元素。所以你可以删除所有的gif,然后foreach所有的图像。

相关问题