向内容中的所有图像添加类

时间:2018-12-10 作者:Alt C

我有这样一个函数:

function add_responsive_class($content)
{
    $content = mb_convert_encoding($content, \'HTML-ENTITIES\', "UTF-8");
    if (!empty($content)) {
        $document = new DOMDocument();
        libxml_use_internal_errors(true);
        $document->loadHTML(utf8_decode($content));

        $imgs = $document->getElementsByTagName(\'img\');
        foreach ($imgs as $img) {
            $img->setAttribute(\'class\', \'img-fluid\');
        }

        $html = $document->saveHTML();
        return $html;
    }
}
add_filter(\'the_content\', \'add_responsive_class\');
这增加了img-fluid 所有图像,但它也会删除align-left , 如何修改上述函数以添加img-fluid 要映像而不是删除其他类?

比如--><img class ="img-fluid align-left"

1 个回复
最合适的回答,由SO网友:kero 整理而成

$img->setAttribute(\'class\', \'img-fluid\');
这将设置class 字段设置为新值。只需将此行更改为

$classes = $img->getAttribute(\'class\');
$img->setAttribute(\'class\', $classes . \' img-fluid\');

相关推荐

Responsive Admin Themes

我在看这个管理主题的示例(http://themepixels.com/main/themes/demo/webpage/shamcey/dashboard.html). 至于标签为“Navigation”的左侧管理栏,有没有一种方法可以在不使用插件的情况下实现这种类型的左侧仪表板管理菜单?我想用css、js或Jquery来实现这一点,任何处理编码的东西都可以。