Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Добавление картинок в полную новость с помощью ?

Добавление картинок в полную новость с помощью ?


     30.05.2015    Общие вопросы    980

вопрос
Доброго времени суток. Для добавления картинок в полную новость использую следующий код:
<a href="урл_картинки" rel="highslide" class="highslide "><img src="урл_картинки" height="100px" width="150px"></a>
Это позволяет использовать встроенный highslide, не загружая картинки на сервер и не создавая thumb.
С добавлением проблем нет, всё в порядке. Проблемы же начинаются, когда хочу новость отредактировать. DLE при входе в режим редактирования новости коверкает мои с нужными атрибутами в нечто нечитаемое, начинающееся на [IMG=].
Просмотрев документацию DLE на тему доступных тегов, не понимаю как решить свою задачу с их помощью, учитывая скудность выбора тегов и модификаторов.

Ответа пока нет


Комментарии пользователей (3)

Webmaster
9

41 | 12

Webmaster - 30 мая 2015 19:14 - Юзер

Цитата: Heimdel
не понимаю как решить свою задачу с их помощью, учитывая скудность выбора тегов и модификаторов.

Не пробовали вместо редактора BBCODES использовать TinyMCE ?

vadims
10

373 | 63

vadims - 2 июня 2015 01:17 - Юзер

А так не хотите сделать -
В parce.class.php

После
$txt = preg_replace( "#<!--dle_media_begin:(.+?)-->(.+?)<!--dle_media_end-->#is", '[media=\\1]', $txt );

Добавить
$txt = preg_replace( "#<!--dle_img2_begin:(.+?)-->(.+?)<!--dle_img2_end-->#is", '[img2=\\1]', $txt );


После
$source = preg_replace_callback( "#\[media=([^\]]+)\]#i", array( &$this, 'build_media'), $source );

Добавить
$source = preg_replace_callback( "#\[img2=([^\]]+)\]#i", array( &$this, 'build_img2'), $source );


ПЕРЕД
function build_flash( $matches=array() ) {

Добавить
    function build_img2( $matches=array() ) {
        $url = $matches[1];
        $url = $this->clear_url( urldecode( $url ) );
        if( $url == "" ) return;
        if( preg_match( "/[?&;<\[\]]/", $url ) ) {
            return "[img2=".$url."]";
        }
        return "<!--dle_img2_begin:{$url}--><a href='$url' rel='highslide' class='highslide'><img src='$url' height='100px' width='150px'></a><!--dle_img2_end-->";

    }


По идее должно работать вставка картинки -
[img2=ссылка]

Heimdel
3

Heimdel - 5 июня 2015 09:11 - Юзер

Спасибо за ответы. Покопавшись в коде и попробовав несколько вариантов, решил убрать строку 475 в файле parse.class.php:
//$txt = preg_replace_callback( "#<img src=[\"'](\S+?)['\"](.+?)>#i", array( &$this, 'decode_img'), $txt );
. А так же еще несколько строк, относящихся к другим тегам. Честно говоря, так и не понял целесообразность подобных конвертирований - если уж при добавлении новости я не воспользовался предложенными тегами, а собственноручно ввел все атрибуты, то и незачем мне их коверкать при редактировании.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы