结合两个针对图像的代码


combining two codes targeting images

我有两个工作代码对我的wordpress站点中的图像做两件事。然而,当我使用它们时,它们就不起作用了。我似乎无法把它们结合起来,同时又保持两者的功能。

输出我的word-press post中的所有图片,最后一张以#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

你可以这样做:-

<?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);
?>