如何在通过正则表达式添加的图像中添加图像尺寸

时间:2015-05-22 13:46:39

标签: php html regex wordpress-plugin

这是来自WordPress插件的一段PHP代码,它使用preg_replace将图像添加到内容中。问题是添加的图像没有指定尺寸,并且由于此图像在每个页面上多次添加,因此会减慢页面渲染(在很小程度上)。现在,问题是:

如何添加width =" 1"和身高=" 1"通过下面提到的PHP正则表达式添加到最终的HTML图像?

 // In case you want to change the placeholder image
        $placeholder_image = apply_filters( 'lazyload_images_placeholder_image', self::get_url( 'images/1x1.trans.gif' ) );


    // This is a pretty simple regex, but it works
        $content = preg_replace( '#<img([^>]+?)src=[\'"]?([^\'"\s>]+)[\'"]?([^>]*)>#', sprintf( '<img${1}src="%s" data-lazy-src="${2}"${3}><noscript><img${1}src="${2}"${3}></noscript>', $placeholder_image ), $content );
        return $content;

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

如果它们都没有设置尺寸,您只需将width="1" height="1"添加到img标记即可。

像这样:

$content = preg_replace( '#<img([^>]+?)src=[\'"]?([^\'"\s>]+)[\'"]?([^>]*?)(\/)?>#', sprintf( '<img${1}src="%s" data-lazy-src="${2}"${3} width="1" height="1" /><noscript><img${1}src="${2}"${3}></noscript>', $placeholder_image ), $content );

如果在<img>标记的末尾添加,即使原始图像已经设置,它也不会干扰。