如何从字符串中清除所有非jpg img标记

时间:2015-02-20 19:57:32

标签: php image tags clear

如何从PHP中没有jpg或gif扩展名的文件中清除HTML字符串中的所有标记

我必须从字符串中删除所有img标记,其中src的扩展名不是jpg或gif。

到目前为止,我试过了:

$dom=new domDocument;
$dom->loadHTML($content);
$dom->preserveWhiteSpace=false;
$images=$dom->getElementsByTagName('img');
foreach($images as $image)
{
    $ea=array('gif','png','bmp','jpg','jpeg');
    $ext=pathinfo($image->getAttribute('src'), PATHINFO_EXTENSION);
    if(!in_array(strtolower($ext),$ea))
    {
        $image->removeAttribute('src');
    }
}
$cleanc=$dom->saveHTML();

但这很慢,只会删除来源。

1 个答案:

答案 0 :(得分:0)

好吧,DOMDocument不会特别快。如果要删除图像而不仅仅是src,请尝试:

if(!in_array(strtolower($ext),$ea))
{
    $parent = $image->->parentNode;
    $parent->removeChild($image);
}