【问题标题】:how to clear all non-jpg img tags from a string如何从字符串中清除所有非 jpg img 标签
【发布时间】:2015-02-20 19:57:31
【问题描述】:

如何从 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();

但这很慢,而且只会删除源。

【问题讨论】:

标签: php image tags


【解决方案1】:

嗯,DOMDocument 不会特别快。如果您想删除图像而不仅仅是其 src,请尝试:

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

【讨论】:

    猜你喜欢
    • 2010-11-09
    • 2010-11-01
    • 1970-01-01
    • 2019-06-21
    • 2011-01-29
    • 2016-03-28
    • 2015-10-09
    • 2011-10-19
    相关资源
    最近更新 更多