Вставка рекламы после n-го абзаца
        Здравствуйте, подскажите как можно вставить рекламный блок в теле статьи, например после 2 или 3 абзаца от начала статьи?    
    
    
                                                                                
            Комментарии: 20
                2 варианта:
1. Вставить прямо в теле статьи вызов чанка\сниппета вручную, если автор текста понимает, что делает и разрешены теги в контенте.
2. Написать простенький фильтр вывода, который будет вставлять вызов чего надо через n тегов p в тексте, и вызывать контент примерно так:
                    1. Вставить прямо в теле статьи вызов чанка\сниппета вручную, если автор текста понимает, что делает и разрешены теги в контенте.
2. Написать простенький фильтр вывода, который будет вставлять вызов чего надо через n тегов p в тексте, и вызывать контент примерно так:
[[*content:advertising]]            
                Как вариант — при помощи jquery:
— допустим, мы отмеряем абзацы исключительно тегами p. Тогда, обернув поле контента статьи в контейнер с id=«articleBody», дописываем скрипт:
                    — допустим, мы отмеряем абзацы исключительно тегами p. Тогда, обернув поле контента статьи в контейнер с id=«articleBody», дописываем скрипт:
<script type="text/javascript">
	$("#articleBody p:eq(3)").after('<div>Рекламный блок!</div>');
	//вы можете менять порядковый номер абзаца, после которого нужно вставить рекламу при помощи аргумента eq(число). Отсчет в нем начинается с 0.
</script>            
                А если рекламный блок тоже javascript, как в таком случае быть? 
Блок адсенса хочу вывести таким образом.
                    Блок адсенса хочу вывести таким образом.
                Приложите код рекламного блока — помогу адаптировать. 
Если он также вставляется методами javascript'a — то проблем со вставкой в желаемое место не возникнет.
                    Если он также вставляется методами javascript'a — то проблем со вставкой в желаемое место не возникнет.
                код адсенса:
                    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- adaptiv_article -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-XXXXXXXXXXXXXXXX"
     data-ad-slot="XXXXXXXXXX"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>            <script type="text/javascript" src="https://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$("#articleBody p:eq(3)").after('<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-XXXXXXXXXXXXXXXX" data-ad-slot="XXXXXXXXXX" data-ad-format="auto"></ins>');
	});
</script>
<script src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
	$(document).ready(function(){
		(adsbygoogle = window.adsbygoogle || []).push({});
	});
</script>            
                Здравствуйте! А возможен ли такой вариант, но только для рекламного блока яндекс, а не гугл?            
                    
                Может просто вывести чанк с рекламным блоком? Не не выход?            
                    
                ммм можно по подробнее пожалуйста?            
                    
                сарказм)            
                    
                Делал очень давно, сейчас бы сделал по другому, но что есть, то есть )
Сниппет adsense
                    Сниппет adsense
<?php
//спустя сколько символов искать перенос строки и вставлять рекламу?
$nu = 3800;
//Код рекламы
$adsense = <<<HTML
<div class="sense">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:inline-block;width:728px;height:90px"
     data-ad-client="ca-pub-1233335915169539"
     data-ad-slot="2233378009"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
HTML;
$a = preg_replace('@([^^]{'.$nu.'}.*?)(\r?\n\r?\n|</p>)@', "\\1$adsense\\2", trim($content), 1);
return $a;Вызов (в шаблоне вместо [[*content]])[[adsense? &content=`[[*content]]`]]            
                Спасибо, все работает.            
                    
                Здравствуйте. Подскажите, как вставить 2 рекламных блока после разного количества символов, например после 1 блок после 300 символов, 2 блок после 1000 символов            
                    
                Привет. Получилось вставить 2 рекламных блока?            
                    
                Точно уже не помню, как то так, но будет некорректно считать после скольки символов всталять рекламу
                    <?php
//спустя сколько символов искать перенос строки и вставлять рекламу 1?
$nu = 3800;
//Код рекламы
$adsense = <<<HTML
<div class="sense">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:inline-block;width:728px;height:90px"
     data-ad-client="ca-pub-1233335915169539"
     data-ad-slot="2233378009"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
HTML;
$a = preg_replace('@([^^]{'.$nu.'}.*?)(\r?\n\r?\n|</p>)@', "\\1$adsense\\2", trim($content), 1);
//спустя сколько символов искать перенос строки и вставлять рекламу 2?
$nu1 = 5400;
//Код рекламы
$adsense1 = <<<HTML
<div class="sense">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:inline-block;width:728px;height:90px"
     data-ad-client="ca-pub-1233335915169539"
     data-ad-slot="2233378009"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
HTML;
$a1 = preg_replace('@([^^]{'.$nu1.'}.*?)(\r?\n\r?\n|</p>)@', "\\1$adsense1\\2", trim($a), 1);
return $a1;            
                Принцип понятен, спасибо!            
                    
                Привет. Что исправить, чтобы вставка была после тега /p?
Сейчас рекламный блок вставляется перед закрывающим тегом /p, в результате чего в валидаторе HTML получаем ошибку и лишние теги, тк скрпит не оборачивается тегами p.
                    Сейчас рекламный блок вставляется перед закрывающим тегом /p, в результате чего в валидаторе HTML получаем ошибку и лишние теги, тк скрпит не оборачивается тегами p.
                Привет. Куда здесь вставить 
Сейчас вставляет только после абзаца
                    </blockquote>, чтобы делал вставку блока после цитаты?Сейчас вставляет только после абзаца
</p>.            
                Спасибо за метод, все работает. А как сделать что бы вставка была не после 3800 символов, а после скажем 3-го img А то у меня контента по разному может 1000 символов, а может и 5000 быть, а картинок всегда штук 10. Заранее спасибо!)            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    
            
            
                    
                    
                