在包含多个网址的变量中实现<img src="in a variable that contains multiple urls

时间:2016-01-12 20:38:01

标签: php regex image variables

<p>Hello i want to implement <code><img src =" <="" code=""/>。这里是我使用的代码:

echo '<b>'.$d->SyndicObjectName.'</b>'.'<br>'.$d->DetailDescriptif.'<br>'.$d->ListingPhoto.'<br>'.$d->DetailPhoto.'<br> Capacit&eacute; min/max : '.$d->DetailCapacitemin.'/'.$d->DetailCapacitemax.'<br>'.$d->DetailSiteweb
                .'<br>'.$d->DetailMail.'<br>'.$d->DetailTelephone.'<br> Detail confort : '.$d->DetailConfort.'<br>'.'Animaux accept&eacute; : '.$d->ListingAnimauxacceptes.'<br> Activit&eacute;s possibles : '.$d->DetailActivites.'<br> Services : '.$d->DetailServices
                .'<br> Descriptif habitation : '.$d->DetailDescriptifhabitation;

            echo '<hr>';

$ d-&gt; DetailPhoto包含图片网址列表,如下所示:

  

CDT22-T最终-111514_4.jpg | 111514 | CDT22-T最终-111514_5.jpg | 111514 | CDT22-T最终-111514_1.jpg | 111514 | CDT22-T最终-111514_3.jpg | 111514 | CDT22-T最终-111514_10.jpg | 111514 | CDT22-T最终-111514.jpg | 111514 | CDT22-T最终-111514_9.jpg | 111514 | CDT22-T最终-111514_7.jpg | 111514 | CDT22-T最终-111514_11.jpg | 111514 | CDT22-T最终,111514_6.jpg | 111514 | CDT22-T最终-111514_8.jpg | 111514 | CDT22-T最终-111514_2.jpg | 111514 | CDT22-T最终-111514_6.jpg || 111514 || ## CDT22-T最终-111514.jpg || 111514 ||# #CDT22-T最终-111514_5.jpg || 111514 || ## CDT22-T最终-111514_9.jpg || 111514 || ## CDT22-T最终-111514_1.jpg || 111514 || ## CDT22-T最终,111514_8.jpg || || 111514 ## CDT22-T最终-111514_3.jpg || || 111514 ## CDT22-T最终-111514_10.jpg || || 111514 ## CDT22-T最终-111514_11.jpg || || 111514 ## CDT22 -tfinal-111514_4.jpg || || 111514 ## CDT22-T最终-111514_2.jpg || || 111514 ## CDT22-T最终-111514_7.jpg || || 111514

问题是,如何在这些网址周围添加<img scr="

2 个答案:

答案 0 :(得分:0)

这基本上就是你需要的。我甚至考虑过有两根烟斗的地方。

$supported_image = array(
    'gif',
    'jpg',
    'jpeg',
    'png'
);
$images = array();
$images = explode('|', $d->DetailPhoto); //Will explode a single string in many values in a array, those values are the ones between pipes |

foreach ($images as $imgsrc)
{
    $ext = strtolower(pathinfo($imgsrc, PATHINFO_EXTENSION)); //Gets the extension from the image.
    if(in_array($ext, $supported_image)) //Checks if the current string contains a valid image extension.
    {
       $pic = str_replace('#','',$imgsrc); //Removes ## from the filename.
       echo "<img src='$pic'></img> <br>";
    }
}

它将检查字符串是否包含文件扩展名,然后将其作为img标记回显。

如果您需要其他格式,可以增加支持的图片扩展名。

在我的测试中,这就是它产生的结果:

enter image description here

答案 1 :(得分:0)

如果要从该列表中的每个img条目输出.jpg标记,这些条目不以#开头(它们之间有换行符),则以下会工作的。

foreach(explode("|", $d->DetailPhoto) as $img)
{
    if(strpos($img, ".jpg") !== false && strpos($img, "#") !== 0)
    {
        echo "<img src=\"$img\"/><br/>";
    }
}