一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

wordpress获取文章所有图片实现程序

时间:2013-10-28 编辑:简简单单 来源:一聚教程网

先来看php获取文章中所有图片正则表达式

 代码如下 复制代码

$body="中国WEB第一站";

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中会有一点出入,因为图片地址规则不同,代码如下

 代码如下 复制代码

//从文章中搜索图片并获取图片
$SoImages  = ‘~]* />~’;
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],其代码样例为:”<aGoogle” title=”Google” id=”logo” src=”/intl/zh-CN/images/logo_cn.gif” width=”276″ height=”110″ border=”0″  />
$ImgUrl = $Images[0][0];
$SoImgAddress=”/]*>/i”;  //正则表达式语句
preg_match($SoImgAddress,$ImgUrl,$imagesurl);  //分析
echo $imagesurl[1]; //得到并处理路径:/intl/zh-CN/images/logo_cn.gif
?>

热门栏目