Простой пример как можно вставить в содержимое страницы случайный текст или блок рекламы. Пример на PHP - подойдёт многим типам CMS.
Будут использованы следующие функции:
- substr ( string string, int start [, int length] )
- strpos ( string haystack, string needle [, int offset] )
где первая поможет вывести нужное количество элементов, вторая - найти номер элемента, после которого можно поместить вставку.
<?php //Текст в который будет вставлен блок после первого закрывающего тега </p> $mysring = "<p> Эта функция, </p> <p> так и не относящееся к логическому </p> типу значение"; //присвоим перемененной что именно выводить в ставке. $insert = " <strong>ВСТАВКА</strong> "; //находим первый закрывающий тег </p> $pos = strpos($mysring,'</p>',1); //отделяем первый абзац от 0 до номера позиции. //Вставляем рекламный блок, и вставим вторую половину текста, вычтя все элементы до номера позиции. echo $result_text = substr($mysring,0,$pos) . $insert . substr($mysring,$pos); ?>
Если текст большой, его следует поделить на части
<?php $len = round(strlen($mysring) / 3); $pos = strpos($mysring,'</p>',$len); ?>
Где 3 - знаменатель, принимает значение на сколько частей поделить исходный текст
Переменной $insert можно присвоить любое значение, например код рекламы adsense.
Если использовать в Drupal значение в переменную можно передать создав блок. В блоке добавить информацию и вывести таким образом:
<?php // Код рекламного блока в тексте $block = module_invoke('block', 'block_view', 11); $advert2 = render($block['content']); ?>
где 11 - это номер блока.
Соответственно так можно сделать в любой CMS написанной на PHP.
- Войдите, чтобы оставлять комментарии
- 529 просмотров
Здравствуйте. А как вставить блок, скажем после 3-го ? Благодарю!