在处理opencart图片加载的时候,想用lazylaod这个jquery插件,
网站前台都显示好了,在后台加载的时候发现2了,后台编辑商品的图片显示没出来。
因为我用的抓取把商品都自动填充,没有经过后台手动添加。也就是说在处理lazyload显示图片的时候,其中的src data-data-original width height这些属性是一股脑生成的,所以就导致后台显示看不到,但是审查元素可以看到。
php添加是这样添加的,大概复现一下:
<code>foreach (xx as x){
$imgs.='<img src="image/catalog/lazyload_grey.gif"
data-original='.$tmp.'image/catalog/product/'.$id."/".$value.'
style="max-width:90%" height='800'>';
}
</code>当时想在后台的控制器里正则替换不就好了,试了下,是可以。但是更新商品的时候又会被覆盖掉。
想想还是通过前台处理比较好,用js或者用ob函数。
虽然这两种我都没有处理,但是还是记录下思路,等网站真需要优化,再具体操作。
以下是ob函数的一个小例子:
<code><?php
ob_start();
echo '13712345678';
echo 'another content<br>';
$result=ob_get_contents();
echo '<hr>';
ob_clean();
if(preg_match('/\d{11,}/', $result,$match)){
echo str_replace(substr($match[0],-4),'****',$match[0]);
}else{
echo 'no match';
}
ob_end_flush();
// result:1371234****
</code>我没有处理,觉得这两种方法都不大好。希望各位能再提供下处理lazyload或者类似图片懒加载时,前后台无法一致呈现的问题的方法或思路。
参考网站:
ob函数处理lazyload
lazyload
以上就介绍了obstart的小用法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号