wordpress 截取文章所有图片并输出

自己想做一个相册样式的文章样式,于是在google一下,找了一些代码,于是自己动手稍稍改造了一下,放在while循环里就可以截取文章中的图片了~~
实在代码如下

<code>
    global $post, $posts;
    $post_leyaepimg = 0;
    ob_start();
    ob_end_clean();
    preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
    $post_leyaepimg = count($matches[0]);
    if ( $post_leyaepimg > 0 ) { 
            for ( $i=0; $i < $post_leyaepimg ; $i++ ) { 
            echo $matches[0][$i]; 
            }; 
        }; 
</code>

如果配合TimThumb那就更好了,现在我又遇到了一个问题,上面输出的都是img标签,但是我想要得到img标签中的src地址,那我就不知道如何是好了~~

在google上搜索了一番~找到了一句,但还没有尝试一下~

<code>

$str = '<img border="0" src=\'/images/image.jpg\' alt="Image" width="100" height="100"/>';
preg_match('/(src=["\'](.*?)["\'])/', $str, $match);  //find src="X" or src='X'
$split = preg_split('/["\']/', $match[0]); // split by quotes
$src = $split[1]; // X between quotes
echo $src;
//Other regexp's can be used to determine if the pulled src tag is a picture like so:
if(preg_match('/([jpg]{3}$)|([gif]{3}$)|([jpeg]{3}$)|([bmp]{3}$)|([png]{3}$)/', $src) == 1) {
//its an image
}
//我想依葫芦画瓢应该能弄出来吧~
</code>

还有一段代码,但是大概意思能看懂,抽空再尝试一下效果怎么样~

<code>
$htmlContent = file_get_contents('pageURL');

// read all image tags into an array
preg_match_all('/<img[^>]+>/i',$htmlContent, $imgTags); 

for ($i = 0; $i < count($imgTags[0]); $i++) {
  // get the source string
  preg_match('/src="([^"]+)/i',$imgTags[0][$i], $imgage);

  // remove opening 'src=' tag, can`t get the regex right
  $origImageSrc[] = str_ireplace( 'src="', '',  $imgage[0]);
}
// will output all your img src's within the html string
print_r($origImageSrc);
</code>

百度上搜索页好到了一段代码,还是没有尝试一下~

<code>
<?php
$str='<img decoding="async" border="0" src="1.jpg" alt=""/><img decoding="async" border="0" src="a.jpg" alt=""/><img decoding="async" src="test.jpg" />';
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/";
preg_match_all($pattern,$str,$match);
//print_r($match[1]);
print_r($match);
preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i', stripcslashes($_POST['content']), $match);
$litpic = $match[1];
?>
</code>

0 thoughts on “wordpress 截取文章所有图片并输出
添加一条新回复 回到顶部

亲爱的,主人已经关闭了这篇文章的评论 。