结合两个代码图像的代码

时间:2016-08-15 05:08:42

标签: php html wordpress

我有两个工作代码可以对我的文字新闻网站中的图像做两件事。然而,当我按原样使用它们时它们不起作用。我似乎无法将它们结合起来并保留两者的功能。

输出我的word-press帖子中的所有图片,最后一个图片包含在#last-img

<?php
    preg_match_all('/(<img [^>]*>)/', get_the_content(), $images);

    for( $i=0; isset($images[1]) && $i < count($images[1]); $i++ ) {
        if ($i == end(array_keys($images[1]))) {
            echo sprintf('<div id="last-img">%s</div>', $images[1][$i]);
            continue;
        }
        echo $images[1][$i];
    }
?> 

将最后一张图片作为#last-img

的背景
<?php
 preg_match_all('/src="([^"]*)"/i', get_the_content(), $images);
?>

<div id="last-img" style="background:url(<?php echo $images[1][count($images[1])-1] )"> ... </div>

我想显示所有图像,并将最后一张图像作为#last-img

的背景

1 个答案:

答案 0 :(得分:1)

你可以这样做: -

<?php
    preg_match_all('/(<img [^>]*>)/', get_the_content(), $images);
    preg_match_all('/src="([^"]*)"/i', get_the_content(), $images1);
    $count = count($images[1]);
    $count1 = count($images1[1]);
    foreach($images[1] as $k=> $img){
        if($k == $count-1){
            $format = '<div id="last-img" style="background:url(%s)"> ... </div>'; // Or $format = "<div id='last-img' style='background:url(%s)'> ... </div>";
            $image = $images1[1][$count1-1];
            echo sprintf($format,$image);
        }else{
            echo $img;
        }
    }
?>

或者

<?php
    preg_match_all('/(<img [^>]*>)/', get_the_content(), $images);
    preg_match_all('/src="([^"]*)"/i', get_the_content(), $images1);
    $count = count($images[1]);
    $count1 = count($images1[1]);
    foreach($images[1] as $k=> $img){
            echo $img;
    }
    $format = '<div id="last-img" style="background:url(%s)"> ... </div>'; // Or $format = "<div id='last-img' style='background:url(%s)'> ... </div>";
    $image = $images1[1][$count1-1];
    echo sprintf($format,$image);
?>