wordpress博客使用php开发的,如果我们要获取文章中图片我们只要简单的使用正则表达式即可实现了,下面我来给大家介绍一下.
先来看php获取文章中所有图片正则表达式,代码如下:
- $body="中国WEB第一站<img src=/notfound.jpg>";
- preg_match_all("/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|png))/isU",$body,$img_array);
- $img_array = array_unique($img_array[2]);
- echo "捕获的图片:";
- print_r($img_array);
输出结果是不能你代码的图片地址呢.结果./notfound.jpg
好了,原理就出来了我们是利用preg_match_all获取了,但在wordpress中会有一点出入,因为图片地址规则不同,代码如下:
- <?php
- //从文章中搜索图片并获取图片
- $SoImages = ‘~<img [^>]* />~’;
- preg_match_all($SoImages,$post->post_content,$Images);
- $PictureAmount=count($Images[0]); //获取图片数量
- //处理所有的图片
- for($i=0;$i<$PictureAmount;$i++){
- echo $Images[0][$i] //处理图片,语句可以自定义,第一张图片为$Images[0][0];
- }
- //通过使用switch控制语句处理第一张图片,也可以使用if…else…elseif语句来实现,具体逻辑请自定义
- switch($PictureAmount>0){
- case 1:
- echo $Images[0][0]; //输出第一张图片
- break;
- default:
- $ImagesUrl=bloginfo(‘stylesheet_directory’).”/images/1.jpg”; //当文章无图片时默认输出的图片
- }
- /*获得文章中的图片链接路径的代码
- *首先使用上面第一段的语句从文章搜索并获取图片
- *然后通过运行正则表达式来分析图片代码,然后得到匹配的字符
- *以下只列出其中的一种正则表达式代码,有兴趣的童鞋可以自己编写
- */
- //获取一张图片,例如获取第一张图片$Images[0][0],其代码样例为:<img alt=”Google” title=”Google” id=”logo” src=”/intl/zh-CN/images/logo_cn.gif” width=”276″ height=”110″ border=”0″ />
- $ImgUrl = $Images[0][0];
- $SoImgAddress=”/<img.*?src=”(.*?)”[^>]*>/i”; //正则表达式语句
- preg_match($SoImgAddress,$ImgUrl,$imagesurl); //分析
- echo $imagesurl[1]; //得到并处理路径:/intl/zh-CN/images/logo_cn.gif
- ?>
新闻热点
疑难解答
图片精选