这是来自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;
任何帮助将不胜感激,谢谢!
答案 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>
标记的末尾添加,即使原始图像已经设置,它也不会干扰。