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("