- 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
Добавить комментарий