Php 如何在通过正则表达式添加的图像中添加图像尺寸
下面是一段来自WordPress插件的PHP代码,该插件使用preg_replace将图像添加到内容中。问题是添加的图像没有指定维度,并且由于在每个页面上多次添加此图像,因此会降低页面渲染速度(在很小的程度上)。现在的问题是: 如何通过下面提到的PHP正则表达式将width=“1”和height=“1”添加到图像的最终HTML中?Php 如何在通过正则表达式添加的图像中添加图像尺寸,php,html,regex,wordpress,Php,Html,Regex,Wordpress,下面是一段来自WordPress插件的PHP代码,该插件使用preg_replace将图像添加到内容中。问题是添加的图像没有指定维度,并且由于在每个页面上多次添加此图像,因此会降低页面渲染速度(在很小的程度上)。现在的问题是: 如何通过下面提到的PHP正则表达式将width=“1”和height=“1”添加到图像的最终HTML中? // In case you want to change the placeholder image $placeholder_image = a
// 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;
//如果要更改占位符图像
$placeholder_image=apply_过滤器('lazyload_images_placeholder_image',self::get_url('images/1x1.trans.gif');
//这是一个非常简单的正则表达式,但它可以工作
$content=preg\u replace('.']+)[\''”]?([^>]*)>\'',sprintf(''.$placeholder\u image),$content);
返回$content;
非常感谢您的帮助!如果他们都没有设置尺寸,您只需将
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 );
$content=preg\u replace('\\']+)[\'']?([^>]*?)(\/)?>\'、sprintf('''.$placeholder\u image),$content);
如果在
标记的末尾添加,即使原始图像已经设置了它,它也不会干扰。虽然它添加了高度和宽度属性,但我在W3C验证程序上发现了这些错误:斜杠后面没有紧跟>…t=“关于哈利波特的有趣事实”/width=“1”height=“1”>。。。。。。重复属性宽度…t=“关于哈利波特的有趣事实”/width=“1”height=“1”>。。。。。。重复属性高度…t=“关于哈利波特的有趣事实”/width=“1”height=“1”>我修改了代码,以处理这个斜杠。应该行得通。它仍然行不通,因为我现在遇到了这个错误:斜杠后面没有紧接着“>…”关于哈利波特的有趣事实“/width=“1”height=“1”/>。。。。。重复属性宽度…“关于哈利波特的有趣事实”/width=“1”height=“1”/>。。。。。。。。。。重复属性高度…“关于哈利波特的有趣事实”/width=“1”height=“1”/>对不起,周末我没有时间测试它。另一个编辑,现在已测试:)