我有两个工作代码可以对我的文字新闻网站中的图像做两件事。然而,当我按原样使用它们时它们不起作用。我似乎无法将它们结合起来并保留两者的功能。
输出我的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
的背景答案 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);
?>