Помощь Парсер картинок из поля полной новости {image-x}

Тема в разделе "DLE", создана пользователем TAX[I], 24 июн 2012.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. TAX[I]

    TAX[I]

    Регистр.:
    21 окт 2008
    Сообщения:
    176
    Симпатии:
    28
    • Нарушение правил создания тем в DLE префикс [Хак] только для хаков
    Добрый день!
    Макрос {image-x} в версии DLE 9.6 парсит картинки исключительно из поля короткой новости
    Подскажите пожалуйста, уважаемые программисты, как сделать, чтобы парсил из поля полной новости?

    Нашел код, отвечающий за парсинг картинки из поля короткой новости:
    show.short.php строка 480
    PHP:
                if (stripos $tpl->copy_template"{image-" ) !== false) {
     
                    
    $images = array();
                    
    preg_match_all('/(img|src)=("|\')[^"\'>]+/i'$row['short_story'], $media);
                    
    $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
       
                    foreach(
    $data as $url) {
                        
    $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')) array_push($images$url);
                        }
                    }
       
                    if ( 
    count($images) ) {
                        
    $i_count=0;
                        foreach(
    $images as $url) {
                            
    $i_count++;
                            
    $tpl->copy_template str_replace'{image-'.$i_count.'}'$url$tpl->copy_template );
                            
    $tpl->copy_template str_replace'[image-'.$i_count.']'""$tpl->copy_template );
                            
    $tpl->copy_template str_replace'[/image-'.$i_count.']'""$tpl->copy_template );
                        }
       
                    }


    Пробывал править сам, но не смог
     
  2. gaposha

    gaposha Постоялец

    Регистр.:
    20 фев 2007
    Сообщения:
    118
    Симпатии:
    7
    А заменить строку
    preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['short_story'], $media);
    на
    preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['full_story'], $media);
    не прокатит?
     
    DukeNukem3D нравится это.