Я пытаюсь получить это, если утверждение будет следующим:
если первая строковая позиция .png, то получить $ png1 из стога сена, но если первая строковая позиция .jpg, то получить $ jpg1 из стога сена, но если это .gif, получить $ gif1 из стога сена, иначе если ни одна из них не найдена, тогда строковая позиция - .bmp, поэтому получим $ bmp1
Вот что я пробовал, но он не анализируется правильно:
<?php
// if first occurence is .png get $png1 needle from haystack
if (preg_match('#cid:([^"@]*).png@([^"]*)#', $html_part))
{ $find = '#cid:([^"@]*).png@([^"]*)#';
$replace1 = $png1;
$html_part = preg_replace($find, $replace, $html_part);
}
// if first occurence is .jpg get $jpg1 needle from haystack
elseif (preg_match('#cid:([^"@]*).jpg@([^"]*)#', $html_part))
{ $find = '#cid:([^"@]*).jpg@([^"]*)#';
$replace1 = $jpg1;
$html_part = preg_replace($find, $replace, $html_part);
}
// if first occurence is .gif then get $gif1 needle from haystack
elseif (preg_match('#cid:([^"@]*).gif@([^"]*)#', $html_part))
{ $find = '#cid:([^"@]*).gif@([^"]*)#';
$replace = $gif1;
$html_part = preg_replace($find, $replace, $html_part);
}
// if first occurence is .bmp then get $bmp1 needle from haystack
else
{ $find = '#cid:([^"@]*).bmp@([^"]*)#';
$replace = $bmp1;
$html_part = preg_replace($find, $replace, $html_part);
}
?>
Пример $html_part
с добавлением разрывов строк для отображения:
<b>Bold Text.</b> <i>Italicized Text.</i> <u>Underlined Text.</u> Plain Unformatted Text.
<img width=183 height=183 id="Picture_x0020_3" src="cid:image001.png@01CCCB31.E6A152F0"
alt="Description: Description: Description: cid:image001.png@01CCC701.5A896430">
<img width=153 height=145 id="Picture_x0020_2" src="cid:image002.jpg@01CCCB31.E6A152F0"
alt="Description: Description: cid:image002.jpg@01CCCB1D.D3A29740"><img width=182 height=123
id="Picture_x0020_1" src="cid:image003.jpg@01CCCB31.E6A152F0"
alt="Description: Description: cid:image003.jpg@01CCCB1D.D3A29740">`