发布时间:2020-06-10 14:37:18 人气:
图片懒加载都是通过js来实现的,但是图片中src路径需要更改还得需要添加data-echo参数,经过我的测试,正好连图片alt的标签也一起修改了,自动添加成标题这样对SEO是非常有利的,但是有个小遗憾就是alt标题如果图片过多,alt都是标题不能后面添加第几张图片,如果有代码牛人可以修改一下分享出来。
首先在e/class/userfun.php添加一下代码:
function get_img_thumb_url($content="",$title="",$url="") //content获取文章内容,title获取标题,url获取网站地址,这个需要和模板中代码对应
{
$pregRule = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
$content = preg_replace($pregRule, '<img class="lazy" src="'.$url.'skin/SEOm/images/blank.gif" data-echo="${1}" alt="'.$title.'">', $content);
return $content;
}
上面代码是自定义函数页面中的代码,其实还可以调取其他数据过来,这些是常用的参数,你可以举一反三自己修改。
下面是模板中代码:
<?=get_img_thumb_url(stripslashes($navinfor['newstext']),$navinfor['title'],$public_r[news.url])?>
这个代码放在内容页模板中调用文章正文的地方,stripslashes($navinfor['newstext'])获取正文并过滤,$navinfor['title']获取标题,$public_r[news.url]获取系统设置中的那个网址,如果你想获取其他数据,如关键词在这后面加上,然后在自定义函数那个页面代码里也得对应位置加一个获取参数过来就行了。
网站一直使用上面的方法进行内容页替换图片的alt和图片的路径懒加载。但是问题来了,不能替换内容关键字了,于是现在有了完美解决方法如下:
将内容模板的代码换成如下代码:
<?=get_img_thumb_url(stripslashes(ReplaceKey($navinfor['newstext'])),$navinfor['title'],$public_r[news.url])?>
这个代码增加了ReplaceKey函数,这个是替换关键词用的,现在已经解决。