我环顾四周,找不到为我做的答案。我不想要HTML页面中的所有图像。我只想要一个字符串中的所有图像。
在页面上,我使用了两个不同的字符串。我想要第二张图片中的所有图像。我想将它们循环到旋转木马中。
我看了一下这就是我得到的:
function GetImgString($plaatje){
preg_match_all('/<img[^>]+>/i',$plaatje, $result);
$house = $result[0];
$i = 1;
$output = '<div class="carousel-inner">';
foreach ( $house as $houses ) {
if ($i == 1) {
$output.= '<div class="item active">';
}else{
$output.= '<div class="item">';
}
$output.=
$house.'
<div class="container">
<div class="carousel-caption">
</div>
</div>
</div>
';
$i++;
}
$output .= '</div>';
return $house;}
这是输出:
Array ( [0] => <img src="images/Huizen/huis-3.jpg" alt="" /> [1] => <img src="images/Huizen/huis-4.jpg" alt="" /> )
我该如何解决这个问题?
答案 0 :(得分:0)
我假设,当你进行正则表达式时,在你的结果中,有2张图像。
您开始将输出构建为变量calles $output
,但是返回$house
,其中包含来自preg_match
的2个结果。
所以你可以试试这个:
function GetImgString($plaatje) {
preg_match_all('/<img[^>]+>/i', $plaatje, $result);
$houses = $result[0];
$houses = str_ireplace('<', '<', $house);
$houses = str_ireplace('>', '>', $house);
$i = 1;
$output = '<div class="carousel-inner">';
foreach ($houses as $house) {
$class = ' class="item"';
if ($i === 1) {
$class = ' class="item active"';
}
$output.= '<div '.$class.'>';
$output.= $house . '
<div class="container">
<div class="carousel-caption"></div>
</div>
</div>' . "\n";
$i++;
}
$output .= '</div>';
return $output;
}