id: 9
source: 1
name: lazy
properties: 'a:0:{}'
-----
if ($modx->event->name != 'OnWebPagePrerender') return;
$transparentPixel="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";
$hasLazy = false;
$content = &$modx->resource->_output;
preg_match_all('/
]+>/i', $content, $images);
//$modx->log(modX::LOG_LEVEL_ERROR,print_r($images, 1));
if (count($images)) {
foreach ($images[0] as $image) {
$imageAttributes = array();
preg_match('/(class)=("[^"]*")/i', $image, $classValue);
//$modx->log(modX::LOG_LEVEL_ERROR,'$classValue' .print_r($classValue, 1));
if (array_key_exists(2, $classValue)) { //isset($classValue[2]) && is_countable($classValue)
//$modx->log(modX::LOG_LEVEL_ERROR,'count($classValue) ' . count($classValue));
//$modx->log(modX::LOG_LEVEL_ERROR,'array_key_exists' . array_key_exists(2, $classValue));
//$modx->log(modX::LOG_LEVEL_ERROR,is_countable($classValue));
//$modx->log(modX::LOG_LEVEL_ERROR,'isset($classValue[2])' . isset($classValue[2]));
//$modx->log(modX::LOG_LEVEL_ERROR,'count($classValue) !== 0 ' . count($classValue) !== 0);
$imageAttributes["class"] = explode(" ", str_replace('"', '', $classValue[2]));
if (in_array("lazy", $imageAttributes["class"])) {
preg_match('/(src)=("[^"]*")/i', $image, $imageSrc);
$i = str_replace('"', '', $imageSrc[2]);
$lazyImage = str_replace(" src=", ' src="'.$transparentPixel.'" data-src=', $image);
$content = str_replace($image, $lazyImage, $content);
$hasLazy = true;
}
}
}
}
if ($hasLazy) {
$lazyJs = '';
$content = str_replace("