- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
//поменяет src картинки на cid и вернет массив с дополнительными секциями тела письма
function convert_image_src($text, &$new_section_arr){
global $_SERVER;
//расчленяем текст на куски по img
$new_src_arr=array();//массив путей к картинкам
$arrTmp=explode("<img", $text);
$explode_str=array("\\\"", "\"", "'");
for($i=1; $i<sizeof($arrTmp); $i++){
$arrTmp2=explode("src=", $arrTmp[$i]);
for($j=1; $j<sizeof($arrTmp2); $j++){
for($k=0; $k<sizeof($explode_str); $k++){
if(substr($arrTmp2[$j], 0, strlen($explode_str[$k]))==$explode_str[$k]){
$arrTmp3=explode($explode_str[$k], $arrTmp2[$j]);
//считать можем только картинки с того же сервера - остальные побоку
if(ref_is_server($arrTmp3[1])){
$old_src_arr[]=$arrTmp3[1];
$new_src_arr[]=convert_url_2_full_server($arrTmp3[1]);
}
}
}
}
}
//теперь формируем новые секции
for($i=0; $i<sizeof($new_src_arr); $i++){
$file_arr=get_file_content($new_src_arr[$i], true);
if(strlen($file_arr[0])>0){
//запоминаем секцию
$new_section_arr[]=$file_arr[0];
//заменяем ссылку на cid
$text=str_replace($old_src_arr[$i], "cid:".$file_arr[1], $text);
}
}
return $text;
}
Супер функция, которая парсит картинки в тексте и заменяет на, как я понял, новые ссылки уже на собственном сервере.
Пока пытался разобраться, наступил когнитивный диссонанс.
Комментарии (0) RSS
Добавить комментарий