mariabest247 1 Опубликовано: 19 июня 2019 Рассказать Опубликовано: 19 июня 2019 Добрый день. Как на DLE 13.2 вставить Adsense в статью после определенного количества символов? Цитата Ссылка на сообщение Поделиться на других сайтах
mariabest247 1 Опубликовано: 19 июня 2019 Рассказать Опубликовано: 19 июня 2019 Автор 21 минуту назад, mariabest247 сказал: Добрый день. Как на DLE 13.2 вставить Adsense в статью после определенного количества символов? Руками не вариант, 3000 статей Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 19 июня 2019 Рассказать Опубликовано: 19 июня 2019 Что то типа такого В engine/modules/functions.php найти ?> добавить выше function content_advertise( $text ) { $clean_text = strip_tags($text); $num = intval(strlen($clean_text) * 1 / 2); ob_start(); echo'<div style="float:right;>Код рекламы</div>'; $adsense = ob_get_clean(); return preg_replace('~[^^]{'. $num .'}.*?(?:\r?\n\r?\n|</p>|</table>)~su', "\${0}$adsense", trim( $text ), 1); } в engine/modules/show.full.php найти $tpl->set( '{full-story}', $row['full_story'] ); добавить выше $row['full_story'] = content_advertise($row['full_story'] ); Но это не панацея Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 20 июня 2019 Рассказать Опубликовано: 20 июня 2019 Этот вариант у меня работает. Тут на форуме его предложили. В коде > 150, это после скольких символов вставлять рекламу. Открыть файл engine/modules/show.full.php найти $tpl->set( '{full-story}', $row['full_story'] ); добавить ВЫШЕ if( dle_strlen($row['full_story'], $config['charset']) > 150 ) { $txt = stripslashes($row['full_story']); $adv = '[banner_ЗДЕСЬ ИЗМЕНИТЬ НА ВАШ ВАРИАНТ]<br /><br />{banner_ЗДЕСЬ ИЗМЕНИТЬ НА ВАШ ВАРИАНТ}[/banner_ЗДЕСЬ ИЗМЕНИТЬ НА ВАШ ВАРИАНТ]'; $pos = strpos($txt, '<br>', round(dle_strlen($txt, $config['charset'])/3)); $part1 = substr($txt, 0, $pos); $part2 = substr($txt, $pos); $part2 = preg_replace( '/<br>/', $adv, $part2, 1 ); if( $pos !== false ) $row['full_story'] = $part1.$part2; } Цитата Ссылка на сообщение Поделиться на других сайтах
mariabest247 1 Опубликовано: 20 июня 2019 Рассказать Опубликовано: 20 июня 2019 Автор 10 часов назад, ntrtv сказал: Этот вариант у меня работает. Тут на форуме его предложили. В коде > 150, это после скольких символов вставлять рекламу. Открыть файл engine/modules/show.full.php найти $tpl->set( '{full-story}', $row['full_story'] ); добавить ВЫШЕ if( dle_strlen($row['full_story'], $config['charset']) > 150 ) { $txt = stripslashes($row['full_story']); $adv = '[banner_ЗДЕСЬ ИЗМЕНИТЬ НА ВАШ ВАРИАНТ]<br /><br />{banner_ЗДЕСЬ ИЗМЕНИТЬ НА ВАШ ВАРИАНТ}[/banner_ЗДЕСЬ ИЗМЕНИТЬ НА ВАШ ВАРИАНТ]'; $pos = strpos($txt, '<br>', round(dle_strlen($txt, $config['charset'])/3)); $part1 = substr($txt, 0, $pos); $part2 = substr($txt, $pos); $part2 = preg_replace( '/<br>/', $adv, $part2, 1 ); if( $pos !== false ) $row['full_story'] = $part1.$part2; } Спасибо! Этот вариант должен работать. Цитата Ссылка на сообщение Поделиться на других сайтах
loyngrin 0 Опубликовано: 21 декабря 2020 Рассказать Опубликовано: 21 декабря 2020 (изменено) Здравствуйте ! Благодарю вас за решение проблемы. Мне помог этот код. Реклама выходит после 150 символов. Но у меня статьи большие и длинные. Каким образом можно ещё добавить один код Adsense в середину статьи. Чтобы было две рекламы. Допустим после 400 символа? Буду очень благодарен за помощь. if( dle_strlen($row['full_story'], $config['charset']) > 150 ) { $txt = stripslashes($row['full_story']); $adv = '[banner_ЗДЕСЬ ИЗМЕНИТЬ НА ВАШ ВАРИАНТ]<br /><br />{banner_ЗДЕСЬ ИЗМЕНИТЬ НА ВАШ ВАРИАНТ}[/banner_ЗДЕСЬ ИЗМЕНИТЬ НА ВАШ ВАРИАНТ]'; $pos = strpos($txt, '<br>', round(dle_strlen($txt, $config['charset'])/3)); $part1 = substr($txt, 0, $pos); $part2 = substr($txt, $pos); $part2 = preg_replace( '/<br>/', $adv, $part2, 1 ); if( $pos !== false ) $row['full_story'] = $part1.$part2; } Изменено 21 декабря 2020 пользователем loyngrin Цитата Ссылка на сообщение Поделиться на других сайтах
Darkensand 0 Опубликовано: 21 декабря 2020 Рассказать Опубликовано: 21 декабря 2020 только через функцию! Цитата Ссылка на сообщение Поделиться на других сайтах
loyngrin 0 Опубликовано: 21 декабря 2020 Рассказать Опубликовано: 21 декабря 2020 Здравствуйте Darkensand. А что за функция? Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 22 декабря 2020 Рассказать Опубликовано: 22 декабря 2020 Тот же самый код еще раз, только поменять кол-во символов на нужное. Цитата Ссылка на сообщение Поделиться на других сайтах
loyngrin 0 Опубликовано: 23 декабря 2020 Рассказать Опубликовано: 23 декабря 2020 Благодарю. Пробую. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.