EMLOG学院

获取正文与摘要中的图片

摘要:<?php //全局匹配正文中的...
<?php
//全局匹配正文中的图片并存入imgsrc中
function pic_thumb1($content){
    preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]*>|is", $content, $img);
    $imgsrc = !empty($img[1]) ? $img[1][0] : '';
	if($imgsrc):
		return $imgsrc;
	endif;
}
?> 
<?php
//全局匹配摘要中的图片并存入imgsrc中
function pic_thumb_excerpt($excerpt){
    preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]*>|is", $excerpt, $img);
    $imgsrc_excerpt = !empty($img[1]) ? $img[1][0] : '';
	if($imgsrc_excerpt):
		return $imgsrc_excerpt;
	endif;
}
?> 

以上两个两个函数分别用于获取文章正文与摘要图中的图片地址,直接放入module.php,用法如下。

我们可以先优先匹配摘要中的图片,如果摘要中没有图片再继续匹配正文中的图片,这样可以实现自定义文章封面,log_list.php中代码如下:

<?php
	if(pic_thumb_excerpt($value['excerpt'])){
		$imgsrc = pic_thumb_excerpt($value['excerpt']);
	}elseif(pic_thumb1($value['content'])){
		$imgsrc = pic_thumb1($value['content']);
	}else{
		//如果文章和摘要中均未发现图片,则指定相应目录随即图(1.jpg-5.jpg)
		$imgsrc = TEMPLATE_URL.'img/random/'.rand(1,5).'.jpg';
	}
?>
将上述代码放入log_list.php的文章循环块中后变量<?php echo $imgsrc; ?>则为当前图片的地址,放入img标签中代码如下

<img src="<?php echo $imgsrc; ?>" width="100px" height="100">

发表评论:

评论(0)