正在载入...

如何将文中所有的图片抽取出来,排列在列表中,并做出一个滑块或者lightbox效果,小编在开发博客的时候也注意到这个功能,如果文章的图片较多,将图片抽取出来,做成列表,用lightbox弹出展示其实也是非常棒的。

php代码:

首先,我们在列表页的主循环中,输出所有的图片:

<?php
$SoImages  = '~<img [^\>]*\ />~';
preg_match_all($SoImages,$post->post_content,$Images);
$PictureAmount=count($Images[0]);
for($i=0;$i<$PictureAmount;$i++){
echo  '<a rel="lightbox[03]">'.$Images[0][$i].' </a>'  ;
}
?>

输出所有图片之后我们的图片结构是这样的:

<a><img scr="http://www.themepark.com.cn/wp-content/uploads/2013/09/themepark-lcwztpwordpresswz2.jpg" /></a>

现在,加入jquery,可以包含在你现有的js文件中:

$('#tup a').each(function(e) {   //#tu是你包含输出图片的外容器id
$(this).attr("href",$(this).children('img').attr("src"));   // 给a加上图片地址,和lightbox标签
});

现在的结构是这样的:

<a herf="http://www.themepark.com.cn/wp-content/uploads/2013/09/themepark-lcwztpwordpresswz2.jpg"rel="lightbox[03]">
<img scr="http://www.themepark.com.cn/wp-content/uploads/2013/09/themepark-lcwztpwordpresswz2.jpg" />
</a>

现在,如果你安装了lightbox插件,那么就可以实现点击弹出的lightbox效果了,另外如果想要像小编做的这样子的效果,别忘了用css固定A标签的容器大小,并将图片宽度缩小哦~

这样的代码其实还有缺陷,就是无法调用略所图作为列表图片,所以调用的图片还是挺大的,如果你的图片都是非常大的图片,那就要慎用这个代码了,当然,如果你有更好的方法,可以和我们交流·

希望此方法对你的折腾有所帮助!

本文链接:

关键词:preg_match_all, WordPress, 互联网, 代码, 函数, 图片, 文章,

(全文完        )

Comments

1 条评论(网友评论:1 条,博主回复:0 条)快速评论

  1. 以后需再关注,现在先帮你顶一下

你需要 登录 才可以回复.