Skip to content

Instantly share code, notes, and snippets.

@Burick
Created April 5, 2018 11:40
Show Gist options
  • Save Burick/2f24043395152605bdcc3c16aa4edfee to your computer and use it in GitHub Desktop.
Save Burick/2f24043395152605bdcc3c16aa4edfee to your computer and use it in GitHub Desktop.
Модификатор картинок контента
<?php
/**
*
*
*
*
*/
$out = $input;
preg_match_all('/<img[^>]+>/i',$input, $images);
if( empty($images) ){
return $out;
}
$img = [];
foreach($images[0] as $image){
//preg_match_all('/(width|src)=("[^"]*")/i',$image, $img_arr[$image]);
preg_match_all('/(\S+)=["\']?((?:.(?!["\']?\s+(?:\S+)=|[>"\']))+.)["\']?/i',$image, $img_arr[$image]['atr']);
}
foreach($img_arr as $img=>$img_data){
$atr_str = '';
foreach($img_data['atr'][1] as $k=>$img_atr){
if($img_atr !='width' && $img_atr !='src' && $img_atr !='height'){
$atr_str .= $img_data['atr'][0][$k].' ';
}
if($img_atr == 'src'){
$img_src = $img_data['atr'][2][$k];
$href = 'href="[[phpthumbof? &input=`'.$img_src.'` &options=`w=1200&fltr=wmi|/assets/template/watermark-big.png|BR|80|20|20|20`]]" ';
}
if($img_atr == 'width'){
$img_width = $img_data['atr'][2][$k];
}
}
$link = '<a data-fancybox="gallery" '.$href.'>';
$link .= '<img src="[[phpthumbof? &input=`'.$img_src.'` &options=`w='.$img_width.'&fltr=wmi|/assets/template/water.png|BR|80|5|5|20`]]" '.$atr_str.' /></a>';
$img_arr[$img]['link'] = $link;
}
foreach($img_arr as $img=>$img_data){
$out = str_replace ($img, $img_data['link'] ,$out);
}
return $out;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment