Перейти к публикации

Как на DLE 13.2 вставить Adsense в середину статьи


Рекомендованные сообщения

21 минуту назад, mariabest247 сказал:

Добрый день. Как на DLE 13.2 вставить Adsense в статью после определенного количества символов?

Руками не вариант, 3000 статей

Ссылка на сообщение
Поделиться на других сайтах

Что то типа такого

В 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'] );

Но это не панацея

Ссылка на сообщение
Поделиться на других сайтах

Этот вариант у меня работает. Тут на форуме его предложили. В коде > 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;
        }

 

Ссылка на сообщение
Поделиться на других сайтах
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;
        }

 

Спасибо! Этот вариант должен работать.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...

Здравствуйте ! Благодарю вас за решение проблемы.

Мне помог этот код. Реклама выходит после 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;
        }
Изменено пользователем loyngrin
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...