|
方法一、
1. 将以下这段代码添加到主题functions.php文件内:- function catch_that_image() {
- global $post, $posts;
- $first_img = '';
- ob_start();
- ob_end_clean();
- $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
- $first_img = $matches [1] [0];
- if(empty($first_img)){ //Defines a default image
- $first_img = "/images/default.jpg";
- }
- return $first_img;
- }
复制代码 代码解释:post内如果有图片则显示图片,如果没有图片则显示默认图片
2.在loop内调用:- <?php echo catch_that_image() ?>
复制代码 方法二、
利用一个简单的正则表达式实现,用在CMS主题上,为每一篇文章添加一张缩略图。- <?php
- $szPostContent = $post->post_content;
- $szSearchPattern = '~<img [^\>]*\ />~'; // 搜索所有符合的图片
- preg_match_all( $szSearchPattern, $szPostContent, $aPics );
- $iNumberOfPics = count($aPics[0]); // 检查一下至少有一张图片
- if ( $iNumberOfPics > 0 ) {
- echo '<div align="center">'.$aPics[0][0].'</div>';
- };
- ?>
复制代码 以上这段代码仅显示内容中的第一张图片,如需显示更多,可修改下:- if ( $iNumberOfPics > 0 ) {
- echo '<div align="center">'.$aPics[0][0].'</div>';
- };
复制代码 显示第二张:
echo '<div align="center">'.$aPics[0][1].'</div>';
显示第三章- echo '<div align="center">'.$aPics[0][2].'</div>';
复制代码 |
|