判断文章的图片有多少张,之后根据数量写入数据库具体的图片链接,不管是外链还是我们自己本的图片,只要是链接都判断一下。
function get_coverpic($content, $num = 1) { preg_match_all('/<img[^>]*src=[\'"]?([^>\'"\s]*)[\'"]?[^>]*>/i', htmlspecialchars_decode($content), $match); if (count(@$match[1])) { if ($num > 1 && count($match[1]) > 1) { $ra = array_slice($match[1], 0, $num); return array_slice($match[1], 0, $num); } else { //如果大于三张图片就返回三张图片的集合进数据库保存 if(count($match[1])>2){ return json_encode(array('n1'=>$match[1][0],'n2'=>$match[1][1],'n3'=>$match[1][2])); //否则就只返回第一张,前提是我这有图片 }else{ return json_encode(array('n1'=>$match[1][0])); } } } else { return ''; } }
这个方法返回数据到sql方法之后,每次添加文章就能写入数据库到某一个字段,按照既定的json格式。
读可以用php原生的写法读取。
<input name="cover_img" class="layui-input layui-col-xs6" value="<?php $e = json_decode($row['cover_img'],true);echo $e['n1'];?>"
这样能展示出来,仅展示第一张,如果是前台的数据展示,也可以按照n1n2n3这种格式读取对应图片展示,用于栏目展示的时候多图展示。