DLE и LinkEnso_v.2.3 формат картинки

A
На сайте с 12.09.2011
Offline
139
151

Здравствуйте

Пользуюсь старым LinkEnso_v.2.3 от Алыча, думаю многие знают этот модуль перелинковки, работает хорошо исправно, но есть одно Но

Если картинка имеет ссылку вида:

site.ru/kartinka.jpg

или

site.ru/kartinka.png

То он их видит и вставляет, а вот если:

https://avatars.dzeninfra.ru/get-zen_doc/1780598/pub_5dbfdc3634808200b18963fa_5dbfdc403639e600adc21d90/scale_1200

где на конце нету формата картинки jpg и т.д.. такую. ссылку на картинку он уже не видит... (хотя в Полной и Краткой новости она отображается)

Помогите внедрить , файл модуля там всего 1 я подозреваю здесь нужно что то исправить:

 * Метод возвращает $index по счету изображение из строки $content
         * 
         * @param $content - строка с контентом для поиска изображения
         * @param $index - порядковый номер возвращаемого изображения начиная с 0
         */
        public function getContentImage($content, $imageIndex = 0)
        {            
            preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $content, $media);
            $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);

            foreach($data as $index => $url)
            {
                if($index == $imageIndex)
                {
                    $info = pathinfo($url);
                    if (isset($info['extension']))
                    {
                        $info['extension'] = strtolower($info['extension']);
                        if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png'))
                        {
                            return $url;
                        }
                    }   
                }
            }
            
            return false;
        }
        




Ищу работу помощником Вебмастера, долгое время занимался сайтами. https://t.me/fania008
Виктор Горняков
На сайте с 25.09.2006
Offline
162
#1
Askara :

Здравствуйте

Пользуюсь старым LinkEnso_v.2.3 от Алыча, думаю многие знают этот модуль перелинковки, работает хорошо исправно, но есть одно Но

Если картинка имеет ссылку вида:

site.ru/kartinka.jpg

или

site.ru/kartinka.png

То он их видит и вставляет, а вот если:

https://avatars.dzeninfra.ru/get-zen_doc/1780598/pub_5dbfdc3634808200b18963fa_5dbfdc403639e600adc21d90/scale_1200

где на конце нету формата картинки jpg и т.д.. такую. ссылку на картинку он уже не видит... (хотя в Полной и Краткой новости она отображается)

Помогите внедрить , файл модуля там всего 1 я подозреваю здесь нужно что то исправить:

Попробуй временно заменить код

foreach ($data as $index => $url) {
        if ($index == $imageIndex) {
            $imageInfo = @getimagesize($url);
            if ($imageInfo !== false) {
                return $url;
            }
        }
    }

Или перепиши код для определения типа и по нему проверку сделай

<?php
$imageUrl = 'https://avatars.dzeninfra.ru/get-zen_doc/1780598/pub_5dbfdc3634808200b18963fa_5dbfdc403639e600adc21d90/scale_1200';
$imageInfo = @getimagesize($imageUrl);

if ($imageInfo !== false) {
    $imageType = $imageInfo[2]; // Это будет содержать тип изображения в числовом формате
    switch ($imageType) {
        case IMAGETYPE_GIF:
            echo 'Это GIF изображение';
            break;
        case IMAGETYPE_JPEG:
            echo 'Это JPEG изображение';
            break;
        case IMAGETYPE_PNG:
            echo 'Это PNG изображение';
            break;
        default:
            echo 'Тип изображения не распознан';
    }
} else {
    echo 'URL не содержит изображение или не доступно';
}
?>
XMLSeo - поисковая выдача Яндекс, Wordstat, Google через API - https://xmlseo.ru
A
На сайте с 12.09.2011
Offline
139
#2
Повис как  сайт, так и админка)
Виктор Горняков
На сайте с 25.09.2006
Offline
162
#3
Askara #:
Повис как  сайт, так и админка)

Сократи ещё код:

foreach($data as $index => $url)
            {
                if($index == $imageIndex)
                {                    
                    return $url;                  
                }
            }
A
На сайте с 12.09.2011
Offline
139
#4
Виктор Горняков #:

Сократи ещё код:

foreach($data as $index => $url)
            {
                if($index == $imageIndex)
                {                    
                    return $url;                  
                }
            }
 Кайф! Спасибо! Работает!)))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий