记录一些常用的函数和瞎折腾的过程……

wordpress读取文章中的所有图片幻灯显示

提醒:本文最后更新于 2380 天前,文中所描述的信息可能已发生改变,请谨慎使用。

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信息的函数,用于显示图片的参数信息,不需要它的话,可以去掉或是增加其它内容。