wordpress读取文章中的所有图片幻灯显示
highslide是一个不错的幻灯组件,近日琢磨用wordpress做一个图片站,文章中添加了图片进行幻灯展示,写了个小函数,功能基本实现了。highslide的官方网址是:http://highslide.com/,有兴趣的可以去看看。
函数其实很简单,读取文章中出现的的所有图片,按照highslide的格式进行输出即可。
function get_all_image($content){
if ( $content === false ) $content = get_the_content();
preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $images, PREG_PATTERN_ORDER);
$first_img = $images[1][0]; //提取第一张图片
echo '<div class="highslide-gallery">';
echo '<a id="thumb1" href="'.$first_img .'" class="highslide" onclick="return hs.expand(this)"><img src="'.$first_img.'" alt="Highslide JS" title="点击浏览大图" /></a><div class="highslide-caption">'.exif_info($first_img).'</div>';
echo '<div class="hidden-container">';
for($i=1;$i<count($images[1]);$i++){ //提取第二张及以后的图片
$next_img=$images[1][$i];
echo '<a href="'.$next_img.'" class="highslide" onclick="return hs.expand(this, { thumbnailId:\'thumb1\' })"></a><div class="highslide-caption">'.exif_info($next_img).'</div>';
}
echo '</div></div>';
}
上面函数包含有一个exif_info函数,这个函数是我自己写的一个读取图片EXIF信息的函数,用于显示图片的参数信息,不需要它的话,可以去掉或是增加其它内容。